С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину - C (СИ)
Формулировка задачи:
З клавіатури вводиться текстовий рядок. Скласти програму, яка підраховує кількість слів, які мають непарну довжину, виводить на екран частоту входження кожної літери: видаляє текст, що розміщено в круглих дужках.
Решение задачи: «С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину»
textual
Листинг программы
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#define DELIM " \t\n"
int main(void) {
char buf[BUFSIZ];
while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
size_t cnt;
char * ptr;
for ( cnt = 0, ptr = strtok(buf, DELIM); ptr; ptr = strtok(NULL, DELIM) )
if ( strlen(ptr) & 1)
++cnt;
printf("%lu kilkist sliv z neparnoy dovginoy\n", cnt);
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Определение разделителя (DELIM)
- Ввод строки с клавиатуры
- Прохождение по каждому слову в строке
- Проверка длины слова на нечетность
- Увеличение счетчика при нечетной длине слова
- Вывод количества слов с нечетной длиной
- Цикл до тех пор, пока строка не будет введена