Определить, сколько букв содержит самое длинное слово во введенной строке символов - C (СИ)
Формулировка задачи:
Определить, сколько букв содержит самое длинное слово во введенной строке символов.
Входные данные: На вход программе подается строка, состоящая не более чем из 255 символов. Слова разделяются одним или несколькими пробелами.
Выходные данные: Выведите искомое число.
Примеры:
Входные данные: abed ef
Выходные данные: 4
Решение задачи: «Определить, сколько букв содержит самое длинное слово во введенной строке символов»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define DELIM " \t\n" int main(void) { char buf[BUFSIZ]; while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) { char * wrd = strtok(buf, DELIM); int maxlen = strlen(wrd); while ( ( wrd = strtok(NULL, DELIM) ) != NULL ) { int curlen = strlen(wrd); if ( curlen > maxlen ) maxlen = curlen; } printf("Maximum word length: %d\n", maxlen); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
buf
типаchar
иBUFSIZ
- размер буфера. - Используются стандартные функции ввода-вывода для вывода приглашения к вводу строки и для чтения этой строки.
- Строка, введенная пользователем, сохраняется в переменной
buf
. - С помощью функции
strtok
каждое слово в строке преобразуется в отдельный элемент, который затем сохраняется в отдельной переменнойwrd
. - Длина самого длинного слова сохраняется в переменной
maxlen
. - В цикле, пока есть слова в строке, проверяется их длина. Если слово длиннее, чем самое длинное до этого, то оно становится самым длинным.
- После обработки всех слов в строке выводится на экран длина самого длинного слова.
- Цикл повторяется для каждой строки, введенной пользователем.
- Программа завершается, когда пользователь вводит пустую строку.
- Возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д