Во введенном тексте подсчитать количество символов в слове максимальной длины - C (СИ)
Формулировка задачи:
Во введенном тексте подсчитать количество символов в слове максимальной длины.
(Слова разделяются пробелами.)
помогите плиз)
шо не так?целый день решал то вышку,то это--голова уже не варит
#include <stdio.h>
#include <conio.h>
#define c 20
void main()
{
char t[ c ];
int k=0,a=1,i;
puts("Vvedite text:");
for(i=0;i<c;i++)
scanf("%",&t[i]);
while(i!='\n')
{
while(i!=' ' && i!='\n')
{
k++;
}
if(k>a)
a=k;
k=0;
}
printf(" B слове максимальной длины %d символов", a);
}Решение задачи: «Во введенном тексте подсчитать количество символов в слове максимальной длины»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define c 20
void main()
{
char t[ c ];
int k=0,a=1,i;
printf("Vvedite text:\n");
scanf("%",&t[i]);
i=getchar();
while(i!='\n')
{
while (i==' ')
i=getchar(); // пропускаем пробелы перед словом
if(i=='\n')
break;
while(i!=' ' && i!='\n')
{
i=getchar();
k++;
}
if(k>a)
a=k;
k=0;
}
printf("%d", a);
getch();
}
Объяснение кода листинга программы
В этом коде на языке C:
- Создается массив
tтипаcharразмеромcдля хранения введенного текста. - Инициализируются переменные
kиa.kиспользуется для подсчета количества символов в текущем слове, аa- для хранения максимального количества символов.
- Выводится приглашение для ввода текста.
- Происходит чтение строки из стандартного ввода с помощью функции
scanfиgetchar. - Пока не введен символ новой строки, происходит следующее:
- Пропускаются пробелы перед словом с помощью
getcharи циклаwhile. - Слово читается до пробела или символа новой строки с помощью цикла
while. - Каждый символ увеличивает значение
k. - Если
kбольше текущего значенияa, то обновляется значениеa. - После окончания чтения слова, значение
kсбрасывается в ноль.
- Пропускаются пробелы перед словом с помощью
- Выводится значение переменной a, которая содержит максимальное количество символов в слове.
- Происходит ожидание нажатия клавиши с помощью
getch. Код не проверяет все возможные случаи, например, что введенный текст не превышает размер массиваtили что ввод корректного числа после ввода текста.