Составить программу, определяющую длину самого длинного слова в предложении - C (СИ)
Формулировка задачи:
Помогите написать две программа, на допуск к зачету нужно...
спасибо...
Составить программу, определяющую длину самого длинного слова в предложении.
Решение задачи: «Составить программу, определяющую длину самого длинного слова в предложении»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> int main() { const char CText[] = "Hello World. I Am Student. I do not want to learn. Help!"; const char* pstr = CText; const char* maxStr = NULL; size_t maxLen = 0; const char* begin; const char* end; while (*pstr) { for (; *pstr && !isalpha(*pstr); ++pstr) { ; } begin = pstr; for (; *pstr && isalpha(*pstr); ++pstr) { ; } end = pstr; if (begin < end) { if (maxLen < end - begin) { maxLen = end - begin; maxStr = begin; } } } if (maxStr && maxLen) { printf("word: %.*s\nsize: %u\n", maxLen, maxStr, maxLen); } return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью и проверки символов.
- Объявляем переменные: — CText — строка, содержащая предложение, в котором необходимо найти самое длинное слово. — pstr — указатель на текущий символ в строке CText. — maxStr — указатель на самое длинное слово. — maxLen — длина самого длинного слова. — begin — указатель на первый символ текущего слова. — end — указатель на последний символ текущего слова.
- Запускаем цикл, который будет проходить по каждому символу в строке CText.
- Внутри цикла, с помощью первого вложенного цикла, пропускаем все символы, которые не являются буквами.
- С помощью второго вложенного цикла, находим конец текущего слова.
- С помощью третьего вложенного цикла, проверяем, является ли текущее слово самым длинным.
- Если текущее слово оказывается самым длинным, обновляем значения переменных maxLen и maxStr.
- После завершения цикла, проверяем, было ли найдено самое длинное слово.
- Если самое длинное слово было найдено, выводим его на экран, вместе с его длиной.
- Завершаем программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д