Найти в предложениях самое длинное слово, и вывести предложение с этим словом большими буквами - C (СИ)
Формулировка задачи:
Как программу для следующей задачи:
Ввести несколько предложений, найти в этих предложениях самое длинное слово и вывести предложение с этим словом на экран большими буквами.
Решение задачи: «Найти в предложениях самое длинное слово, и вывести предложение с этим словом большими буквами»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <ctype.h> #define MAXLINE 100 int findlword(char *); main() { int wlen, maxwlen = 0; char line[MAXLINE], *p; puts("Enter strings:"); while(gets(line) != NULL) if((wlen = findlword(line)) > maxwlen) { maxwlen = wlen; p = (char *)malloc(strlen(line)+1); strcpy(p, line); } printf("\nResult: "); while(*p) printf("%c", toupper(*p++)); getch(); return 0; } /* поиск самого длинного слова в строке */ int findlword(char *s) { int len, maxlen = 0; char word[MAXLINE]; while(sscanf(s, "%s", word) != EOF) { if((len = strlen(word)) > maxlen) maxlen = len; s += len; } return maxlen; }
Объяснение кода листинга программы
- Программа находит самое длинное слово в строке.
- Используются функции: gets() - получает строку ввода, пока не будет введен символ новой строки. findlword() - ищет самое длинное слово в строке. *sscanf() - парсит строку по формату и записывает результаты в переменные.
- Объявлены следующие переменные: wlen - хранит длину найденного слова. maxwlen - хранит максимальную длину слова. line - массив для хранения строки ввода. p - указывает на текущий символ в строке. *word - массив для хранения найденного слова.
- В функции main() происходит следующее: Программа запрашивает строку до тех пор, пока пользователь не введет пустую строку. Находит самое длинное слово в строке. Если длина найденного слова больше максимальной, то обновляет максимальную длину и выделяет новую память для хранения строки. Выводит результат в верхнем регистре.
- В функции findlword() происходит следующее: Программа ищет слова в строке, пока не встретит символ новой строки. Если длина найденного слова больше максимальной, то обновляет максимальную длину.
- Программа завершается, когда пользователь нажимает любую клавишу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д