Ввести строку. Подсчитать количество букв в самом длинном слове - C (СИ)
Формулировка задачи:
Ввести строку. Подсчитать количество букв в самом длинном слове
(Не на С++, а именно на С)
Помогите составить программу, пожалуйста
Решение задачи: «Ввести строку. Подсчитать количество букв в самом длинном слове»
textual
Листинг программы
#include "stdio.h" #include "windows.h" #pragma warning(disable:4996) void main(void) { /* This tutorial program for language C, written with use VS2015 For display correct russian characters required use windows.h, pragma directive shut off error compiler */ SetConsoleCP(1251); SetConsoleOutputCP(1251); char strin[1024]; char stop = '\0';//end of string char x; int result = 0; int i = 0; int count = 0; //printf("Input string and press "Enter", max size 1024 symbols\n"); printf("Введите строку и нажмите "Enter", максимальный размер строки 1024 символа\n"); gets(strin); x = strin[i]; while (x != stop) { if (x != ' ' && x != ' ') // x not space and x not tab count++; else { if (count > result) result = count; count = 0; } i++; x = strin[i]; } if (count > result) result = count; //printf("The longest word has %d letters\n",result); printf("Самое длинное слово содержит %d букв(ы)\n",result); system("pause"); }
Объяснение кода листинга программы
В этом коде:
- #include
stdio.h
, #includewindows.h
, #pragma warning(disable:4996) - подключают необходимые для работы функции и библиотеки - void main(void) - объявляет функцию main, которая является точкой входа в программу
- SetConsoleCP(1251);, SetConsoleOutputCP(1251); - устанавливают кодировку консоли для корректного отображения русских символов
- char strin[1024];, char stop = '\0';, char x;, int result = 0;, int i = 0;, int count = 0; - объявляют переменные для работы со строкой
- printf(
Input string and press
Enter, max size 1024 symbols\n
);, printf(Введите строку и нажмите
Enter, максимальный размер строки 1024 символа\n
); - выводят приглашение для ввода строки - gets(strin); - считывают строку из консоли
- x = strin[i]; - инициализируют переменную x первым символом строки
- while (x != stop) - организуют цикл по всем символам строки, кроме символа конца строки
- if (x != ' ' && x != ' ') - проверяют, является ли текущий символ пробелом или табуляцией
- if (count > result), result = count; - обновляют значение результата, если текущий символ встречается в строке больше раз, чем самый длинный ранее найденный слова
- count = 0; - сбрасывают счетчик количества символов для поиска нового слова
- i++;, x = strin[i]; - переходят к следующему символу строки
- if (count > result), result = count; - обновляют значение результата, если текущий символ встречается в строке больше раз, чем самый длинный ранее найденный слова
- printf(
Самое длинное слово содержит %d букв(ы)\n
,result); - выводят результат на экран - system(
pause
); - приостанавливают выполнение программы до нажатия клавиши Enter Таким образом, код принимает строку от пользователя, подсчитывает количество символов в самом длинном слове и выводит результат на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д