Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка - C (СИ)
Формулировка задачи:
Доброго времени суток! Нужно решить такую задачу (желательно с блок-схемой): Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка.
Решение задачи: «Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка»
textual
Листинг программы
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j=0,k,a=0;
char str[1000];
gets(str); //принимаем текст
for(i=0;i<strlen(str);i++)
{
if (str[i] != ' ' && str[i] != ',' && str[i] != '.' && str[i] != ':' && str[i] != '-') //находим слово(я взял что слова в тексте розделены только такими знаками
j = i; //хочеш можно добавить свои)
else
{
k=0; //считает количество букв
while (str[j] != ' ' && str[j] != ',' && str[j] != '.' && str[j] != ':' && str[j] != '-' && j != -1)
{
k++;
j--;
}
if (k >=5) //если количество больше равно 5 - записываем
a++;
}
}
printf("Answer: %d\n",a);
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
stdio.hдля работы с функциями ввода-выводаstdlib.hдля работы с функциейatoi, используемой для преобразования строки в целое числоconio.hдля работы с функциейgetch, используемой для приостановки выполнения программы до нажатия клавиши
- Создаем переменные:
int i, j=0, k, a=0;
- Принимаем текст из консоли в строку
strс помощью функцииgets. - Находим слова в тексте:
for(i=0;i<strlen(str);i++)if (str[i] != ' ' && str[i] != ',' && str[i] != '.' && str[i] != ':' && str[i] != '-')
- Считаем количество букв в найденном слове:
k=0;while (str[j] != ' ' && str[j] != ',' && str[j] != '.' && str[j] != ':' && str[j] != '-' && j != -1)
- Увеличиваем счетчик
kи уменьшаем индексjна единицу при каждом шаге цикла. - Проверяем, что количество букв в слове больше или равно 5:
if (k >=5)
- Увеличиваем счетчик
aна единицу, если условие выполняется. - Выводим результат на экран с помощью функции
printf. - Завершаем программу с помощью функции
main.