Ir ao conteúdo

Posts recomendados

Postado

Estou com esse Código em C, para poder ler 5 nomes e voltar o nome com maior número de caracteres e também concatenar dois nomes, porém estou achando muito grande a codificação e gostaria de estar resumindo ela, alguém poderia me ajudar.

# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <locale.h>
# include <string.h>

int main ( ) {
                setlocale ( LC_ALL, "Portuguese" ) ;
                printf ( "Programa: string_amigos.c\n\n" ) ;
                char amigo1[11], amigo2[11], amigo3[11], amigo4[11], amigo5[11], amigo[11], maior[11] ;
                int tamanho = 0;
                puts ( "Primeiro amigo: " ) ;
                gets ( amigo1 ) ;
                puts ( "Segundo amigo: " ) ;
                gets ( amigo2 ) ;
                puts ( "Terceiro amigo: " ) ;
                gets ( amigo3 ) ;
                puts ( "Quarto amigo: " ) ;
                gets ( amigo4 ) ;
                puts ( "Quinto amigo: " ) ;
                gets ( amigo5 ) ;
                printf ( "Primeiro amigo: %s\n", amigo1 ) ;
                printf ( "Segundo amigo: %s\n", amigo2 ) ;
                printf ( "Terceiro amigo: %s\n", amigo3 ) ;
                printf ( "Quarto amigo: %s\n", amigo4 ) ;
                printf ( "Quinto amigo: %s\n", amigo5 ) ;
                if ( strlen ( amigo1 ) > tamanho ) {
                               tamanho = strlen ( amigo1 ) ;
                               strcpy ( maior, amigo1 ) ;
                }
                if ( strlen ( amigo2 ) > tamanho ) {
                               tamanho = strlen ( amigo2 ) ;
                               strcpy ( maior, amigo2 ) ;
                }
                if ( strlen ( amigo3 ) > tamanho ) {
                               tamanho = strlen ( amigo3 ) ;
                               strcpy ( maior, amigo3 ) ;
                }
                if ( strlen ( amigo4 ) > tamanho ) {
                               tamanho = strlen ( amigo4 ) ;
                               strcpy ( maior, amigo4 ) ;
                }
                if ( strlen ( amigo5 ) > tamanho ) {
                               tamanho = strlen ( amigo5 ) ;
                               strcpy ( maior, amigo5 ) ;
                }
                strcpy ( amigo, amigo1 ) ;
                strcat ( amigo, " e " ) ;
                strcat ( amigo, amigo5 ) ;
                printf ( "Amigo com maior número de caracteres: %s\n", maior ) ;
                printf ( "Nomes concatenados: %s\n", amigo ) ;
                return 0 ;
}

 

  • Curtir 1
Postado

@Giancarlos Nieto       para diminuir o número de linhas você pode usar vetores para diminuir a quantidade de variáveis, pois com apenas um vetor você pode ter um grande número de variáveis, que podem ser usadas para a entrada de dados e nas comparações e também na saída, experimente esse seu código com algumas modificações :

# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <locale.h>
# include <string.h>
int main(){
                setlocale(LC_ALL,"");
                printf("======   Programa: string_amigos.c    ======\n\n");
                char amigo[7][20];
                char contagem[5][20]={{"Primeiro"},
                                      {"Segundo "},
                                      {"Terceiro"},
                                      {"Quarto  "},
                                      {"Quinto  "}};
                int i,tamanho = 0;
                for(i=0;i<5;i++){
                    printf("%s amigo: ",contagem[i]);
                    scanf("%s",&amigo[i]) ;
                }
                printf("\nAqui Estão Os Amigos\n");
                for(i=0;i<5;i++)
                    printf("%s amigo: %s\n",contagem[i],amigo[i]);
                for(i=0;i<5;i++)
                    if(strlen(amigo[i]) > tamanho){
                        tamanho = strlen(amigo[i]) ;
                        strcpy(amigo[6],amigo[i]);
                    }
                strcpy(amigo[5],amigo[1]);
                strcat(amigo[5]," e ");
                strcat(amigo[5],amigo[4]);
                printf("\nAmigo com maior número de caracteres: %s\n",amigo[6]);
                printf("Nomes concatenados: %s\n",amigo[5]);
                return 0 ;
}

 

  • Curtir 3

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!