forked from DavidMCerdeira/AM_LP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathex_16.c
39 lines (34 loc) · 857 Bytes
/
ex_16.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* esta função identifica o apelido e guarda-o;
após isso, encontra a inicial de cada um dos restantes nomes */
void ex11_16()
{
char nome[] = "Zeferino Pedro Duarte Aguiar";
char apelido[20];
char iniciais[20];
/* get apelido */
int name_size = strlen(nome);
int i = name_size-1;
int ap_i = 0;
while(nome[i] != ' '){
i--;
}
int a = i;
apelido[name_size-i] = '\0';
strcpy(apelido, &nome[i+1]);
/* get iniciais */
i = 0;
int in_it = 0;
for(int j = 1; j < a; j++){
if(nome[j-1] == ' '){
iniciais[in_it++] = nome[j];
} else if(j == 1){
iniciais[in_it++] = nome[j-1];
}
}
int size_in = in_it;
/* imprimir */
printf("%s, ", apelido);
for(int k = 0; k < size_in; k++){
printf("%c. ", iniciais[k]);
}
}