Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите на экран это слово и его длину. - C (СИ)

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

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

Помогите пожалуйста с задачей...

Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите на экран это слово и его длину.

Решение задачи: «Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите на экран это слово и его длину.»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
    char stroka[] = "blah, bla, blabl, a.";
    char buff[20];
    char *ptr = stroka;
 
    int max = 0, count = 0;
    while(*ptr)
    {
        if (isalpha(*ptr))
        {
            count++;
        }
        else
        {
            if( count > max)
            {
                max = count;
                strcpy(buff,ptr - count);
                buff[count] = '\0';
 
            }
            count = 0;
        }
        ptr++;
    }
 
 
    printf("%s[%d]",buff,max);
    return 0;
}

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

  1. Подключение необходимых библиотек для работы со строками и символами.
  2. Объявление и инициализация строки stroka, содержащей пробелы.
  3. Объявление переменной buff для хранения самого длинного слова.
  4. Установка начального значения переменной ptr на начало строки stroka.
  5. Объявление переменных max и count, используемых для отслеживания текущего максимального значения длины слова и количества символов в текущем слове соответственно.
  6. В цикле while происходит проход по каждому символу строки stroka.
  7. Если символ является буквой (isalpha), то увеличивается значение переменной count.
  8. Если символ не является буквой, то проверяется, является ли текущее слово (с символа ptr-count) самым длинным из найденных до этого.
  9. Если текущее слово является самым длинным, то обновляется значение переменной max, и текущее слово копируется в переменную buff.
  10. После окончания цикла, выводится на экран самое длинное слово, используя функцию printf, и возвращается 0, что означает успешное завершение программы.

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


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

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

11   голосов , оценка 4.091 из 5
Похожие ответы