Ввести строку. Подсчитать количество букв в самом длинном слове - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести строку. Подсчитать количество букв в самом длинном слове (Не на С++, а именно на С) Помогите составить программу, пожалуйста

Решение задачи: «Ввести строку. Подсчитать количество букв в самом длинном слове»

textual
Листинг программы
  1. #include "stdio.h"
  2. #include "windows.h"
  3. #pragma warning(disable:4996)
  4.  
  5. void main(void)
  6. {  
  7.     /*
  8.     This tutorial program for language C, written with use VS2015
  9.     For display correct russian characters required use windows.h, pragma directive shut off error compiler
  10.     */
  11.     SetConsoleCP(1251);
  12.     SetConsoleOutputCP(1251);
  13.  
  14.     char strin[1024];  
  15.     char stop = '\0';//end of string
  16.     char x;
  17.     int result = 0;
  18.     int i = 0;
  19.     int count = 0;
  20.    
  21.     //printf("Input string and press "Enter", max size 1024 symbols\n");
  22.     printf("Введите строку и нажмите "Enter", максимальный размер строки 1024 символа\n");
  23.     gets(strin);
  24.     x = strin[i];
  25.     while (x != stop)
  26.     {
  27.         if (x != ' ' && x != '  ') // x not space and x not tab    
  28.             count++;       
  29.         else
  30.         {
  31.             if (count > result)
  32.                 result = count;
  33.             count = 0;
  34.         }
  35.         i++;
  36.         x = strin[i];
  37.     }
  38.     if (count > result)
  39.         result = count;
  40.     //printf("The longest word has %d letters\n",result);
  41.     printf("Самое длинное слово содержит %d букв(ы)\n",result);
  42.     system("pause");
  43. }

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

В этом коде:

  1. #include stdio.h, #include windows.h, #pragma warning(disable:4996) - подключают необходимые для работы функции и библиотеки
  2. void main(void) - объявляет функцию main, которая является точкой входа в программу
  3. SetConsoleCP(1251);, SetConsoleOutputCP(1251); - устанавливают кодировку консоли для корректного отображения русских символов
  4. char strin[1024];, char stop = '\0';, char x;, int result = 0;, int i = 0;, int count = 0; - объявляют переменные для работы со строкой
  5. printf(Input string and pressEnter, max size 1024 symbols\n);, printf(Введите строку и нажмитеEnter, максимальный размер строки 1024 символа\n); - выводят приглашение для ввода строки
  6. gets(strin); - считывают строку из консоли
  7. x = strin[i]; - инициализируют переменную x первым символом строки
  8. while (x != stop) - организуют цикл по всем символам строки, кроме символа конца строки
  9. if (x != ' ' && x != '  ') - проверяют, является ли текущий символ пробелом или табуляцией
  10. if (count > result), result = count; - обновляют значение результата, если текущий символ встречается в строке больше раз, чем самый длинный ранее найденный слова
  11. count = 0; - сбрасывают счетчик количества символов для поиска нового слова
  12. i++;, x = strin[i]; - переходят к следующему символу строки
  13. if (count > result), result = count; - обновляют значение результата, если текущий символ встречается в строке больше раз, чем самый длинный ранее найденный слова
  14. printf(Самое длинное слово содержит %d букв(ы)\n,result); - выводят результат на экран
  15. system(pause); - приостанавливают выполнение программы до нажатия клавиши Enter Таким образом, код принимает строку от пользователя, подсчитывает количество символов в самом длинном слове и выводит результат на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы