Ввести строку символов, посчитать количество символов, не являющихся буквами английского алфавита - C (СИ)
Формулировка задачи:
Ввести строку символов, если ее длина >6, то посчитать количество символов, не являющихся буквами английского алфавита. Полученное значение записать в конец строки.
Решение задачи: «Ввести строку символов, посчитать количество символов, не являющихся буквами английского алфавита»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
int main()
{
char c;
unsigned count = 0, nonsymbol = 0;
while((c = getchar()) != '\n'){
count++;
if(!isalpha(c))
nonsymbol++;
putchar(c);
}
if(count > 6)
printf("%d\n", nonsymbol);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с символами и вводом-выводом
- Объявление переменных:
- c - символ, который будет использоваться в цикле
- count - счетчик количества введенных символов
- nonsymbol - счетчик количества символов, не являющихся буквами английского алфавита
- Ввод символа с помощью функции getchar() и сохранение его в переменной c
- Проверка, является ли символ буквой английского алфавита с помощью функции isalpha()
- Если символ не является буквой, увеличиваем значение переменной nonsymbol на 1
- Вывод введенного символа с помощью функции putchar()
- Проверка условия: если количество введенных символов больше 6, выводим количество символов, не являющихся буквами английского алфавита
- Возврат 0, чтобы указать, что программа успешно завершилась