Создать программу, которая будет принимать ** вход текстовую строку в виде полного имени,...

0 голосов
48 просмотров

Создать программу, которая будет принимать на вход текстовую строку в виде полного имени, отчества (при наличии) и фамилии на латинице, а в качестве результата выводить соответствующие инициалы. Входные данные вводятся латиницей и считываются с помощью функции scanf. Инициалы выводятся в строку терминала, после каждого инициала ставится точка, пробела между инициалами нет. Даже если пользователь ошибочно ввёл данные не с заглавной буквы, инициалы должны быть написаны заглавными буквами.
Например: Входные данные: - Sidorov Ivan Petrovich. Результат - S.I.P.
Язык программирования C (НЕ C++!)
Спасибо заранее


Информатика (7.2k баллов) | 48 просмотров
0

Я студент 1 курса

Дан 1 ответ
0 голосов
Правильный ответ

#include

int main()

char c, FIO[10];
int i=0, f=0;
printf("name: ");
scanf("%c",&c);
if (c>'Z') FIO[i]=c-32; else FIO[i]=c;
FIO[++i]='.';
while (c != '\n'){
  scanf("%c",&c);
  if (f) {
    if (c>'Z') FIO[++i]=c-32; else FIO[++i]=c;
    FIO[++i]='.';
  }
  f = c==' ';
}
printf("%s", FIO);
return 0;
}

Пример:
name: sidorov ivan petrovich
S.I.P.

(194k баллов)