Найти строку, содержащую наибольшее количество слов - 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," ,.-");

Объяснение кода листинга программы

  1. Вводится переменная str типа char, которая содержит исходную строку.
  2. Используя функцию strtok, производится разбиение строки на отдельные слова. В качестве разделителя используется пробел, запятая, точка и тире.
  3. Результат разбивки сохраняется в переменной y типа char.

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы