Преобразовать имя, отчество и фамилию человека к форме "фамилия, инициалы" - C (СИ)
Формулировка задачи:
Напишите программу, которая преобразует строку, содержащую имя, отчество и фамилию человека, к форме
<фамилия> <инициалы>
Входные данные
Входная строка содержит имя, отчество и фамилию, разделённые одиночными пробелами.
Выходные данные
Программа должна вывести в одной строке сначала фамилию, а потом (через пробел) – инициалы.
Решение задачи: «Преобразовать имя, отчество и фамилию человека к форме "фамилия, инициалы"»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main()
{
char s[80], a, b, sn[30], *p;
int i = 0, j = 0, n = 0;
puts("Enter the full name by a space:");
fgets(s, 80, stdin);
p = s;
while(sscanf(p, "%s", sn)){
p += strlen(sn) + 1;
if(!n)
a = sn[0];
if(n == 1)
b = sn[0];
if(n == 2)break;
++n;
}
for(i = 0, j = 0; sn[j]; ++i, ++j)
s[i] = sn[j];
s[i] = ' '; ++i;
s[i] = a; ++i;
s[i] = '.'; ++i;
s[i] = b; ++i;
s[i] = '.'; ++i;
s[i] = '\0';
puts(s);
return 0;
}