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 ;
}