Найти строку, содержащую наибольшее количество слов - C (СИ) (76189)
Формулировка задачи:
не подсчитываются слова в строках.
найти строку, содержащую наибольшее количество слов, и вывести ее на экран монитора. максимально число строк 6. истинное число строк определяется пользователем. исходные данные ввести с клавиатуры. на экран монитора вывести исходные данные и результат расчета.
#include<string.h> #include <stdio.h> #include<stdlib.h> int main(void) { int i,j,f,maxi,max; char t[1024],*y; char str [6]; printf("\n"); for(i=0; i<6; i++) { f=0; printf("\n\nStroka # %i",i+1); printf("\n"); gets(t); printf("\n = %s",t); y=strtok(str," ,.-"); while (y != NULL) { f++; y = strtok (NULL, " "); } printf("\nSlov = %i",f); printf("\n\n"); t[i]=f; } max=t[0]; for(i=0; i<6; i++) { if (max < t[i]) { max=t[i]; maxi=i; } } printf("\nMax. index stroka so slovami = %i", maxi+1); printf("\n"); }
Решение задачи: «Найти строку, содержащую наибольшее количество слов»
textual
Листинг программы
y=strtok(str," ,.-");
Объяснение кода листинга программы
- Вводится переменная
str
типа char, которая содержит исходную строку. - Используя функцию
strtok
, производится разбиение строки на отдельные слова. В качестве разделителя используется пробел, запятая, точка и тире. - Результат разбивки сохраняется в переменной
y
типа char.