Написать программу, которая находит самое длинное слово, встречающееся в предложении - C (СИ)
Формулировка задачи:
Составить блок – схему алгоритма и программу к задаче на языке программирования Си.
Задано предложение-строка. Написать программу, которая находит самое длинное слово, встречающееся в предложении.
Решение задачи: «Написать программу, которая находит самое длинное слово, встречающееся в предложении»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
char s[100];
char *ptr,*p;
int max=0,smax=0;
puts("Enter a string:" );
gets(s);
ptr=strtok(s," ");
while (ptr)
{
smax=strlen(ptr);
if(smax>max)
{
max=smax;
p=ptr;
}
ptr=strtok(NULL," ");
}
printf("The longest word: %s",p);
getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные:
- s - строка, в которую будет записываться предложение
- ptr - указатель на текущий символ в предложении
- p - указатель на самое длинное слово
- max - переменная для хранения максимальной длины слова
- smax - переменная для хранения текущей длины слова
- Выводим приглашение для ввода предложения и считываем его
- Используем функцию strtok для разделения предложения на слова и сохраняем первое слово в ptr
- В цикле while считываем остальные слова и сравниваем их длину с текущей максимальной длиной слова
- Если текущее слово длиннее, то обновляем значения переменных max и p
- После окончания цикла выводим самое длинное слово, используя функцию printf
- Ждем нажатия клавиши и завершаем программу