Eu fiz o código para resolver isso devo seguir a mesma apostila que tu causo querer me adiciona discord e me diz que é do Clube do Hardware podemos fazer os exerci-os juntos.
Discord: PedroOliveira#0962
#include <stdio.h>
#include <string.h>
int main(){
float media=0,soma=0;
int i=0,tam=20,j=0,dijitados=0;
char nomes[tam][20],aux[20];
char sobrenomes[tam][40],saux[40];
printf("Coloque a Lista de Nomes; Dijite FIM para sair.\n");
for(i=0;i < tam;i++){
char tmpnomes[tam][20];
char tmpsobrenomes[tam][40];
printf("Nome %d: ",i+1);
scanf("%s%[^\n]s",&tmpnomes,&tmpsobrenomes);
setbuf(stdin, NULL);
if(strcmp(tmpnomes, "FIM") != 0)
{
dijitados++;
strcpy(nomes,tmpnomes);
strcpy(sobrenomes,tmpsobrenomes);
}
else{
break;
}
}
//organizar array em ordem alfabetica dos pre-nomes
for (i = 1; i < dijitados; i++) {
for (j = 1; j < dijitados; j++) {
if (strcmp(nomes[j - 1], nomes[j]) > 0) {
strcpy(aux, nomes[j - 1]);
strcpy(nomes[j - 1], nomes[j]);
strcpy(nomes[j], aux);
}
}
}
//organizar array dos sobrenomes
for (i = 1; i < dijitados; i++) {
for (j = 1; j < dijitados; j++) {
if (strcmp(sobrenomes[j - 1], sobrenomes[j]) > 0) {
strcpy(aux, sobrenomes[j - 1]);
strcpy(sobrenomes[j - 1], sobrenomes[j]);
strcpy(sobrenomes[j], aux);
}
}
}
//imprimir nomes
printf("\nA lista de nomes em ordem alfabética do pré-nome: \n");
for (i = 0; i < dijitados; i++){
printf("\n%s", nomes);
}
//imprimir sobrenomes
printf("\nA lista de nomes em ordem alfabética de sobrenomes: \n");
for (i = 0; i < dijitados; i++){
printf("%s\n", sobrenomes);
}
for (i = 0; i < dijitados; i++){
soma += strlen(nomes);
}
media = soma / dijitados;
printf("Numero medio de letras por nome: %.2f \n",media);
}