Каждый из символов, следующих за первой группой малых латинских букв, заменить точкой - C (СИ)
Формулировка задачи:
Дан текст; если в нем нет малых латинских букв, то оставить его без изменения, иначе каждый из символов, следующих за первой группой малых латинских букв, заменить точкой.
Решение задачи: «Каждый из символов, следующих за первой группой малых латинских букв, заменить точкой»
textual
Листинг программы
#include <stdio.h>
int main() {
char c, b = 0;
while ((c = getchar()) != '\n') {
if (c >= 'a' && c <= 'z') {
if (b < 2)
putchar(c);
if (!b)
b = 1;
} else if (!b)
putchar(c);
else {
if (b == 1)
b = 2;
putchar('.');
}
}
}
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- В первой строке описывается символ c, который будет использоваться в цикле, а также переменная b, которая изначально равна 0.
- Вторая строка представляет собой цикл, который продолжается до тех пор, пока не будет прочитан символ новой строки.
- В третьей строке проверяется, является ли текущий символ малым латинским буквенным символом. Если это так, то проверяется, является ли переменная b равной 0.
- Если переменная b равна 0, то символ выводится на экран. Если переменная b равна 1, то выводится символ, а переменная b изменяется на 2. Если переменная b равна 2, то выводится точка.
- Код продолжается до тех пор, пока не будет прочитан символ новой строки.