Выделения последнего слова - C (СИ)

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

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

Написать программу выделения последнего слова из введенной строки *) и отображение его на экране. Гугл приводит ток на примеры в языке c++

Решение задачи: «Выделения последнего слова»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int main(void) {
    char buf[BUFSIZ], * ptr;
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        for ( ptr = buf + strlen(buf) - 1; ptr >= buf && isspace(*ptr); --ptr )
            ;
        if ( ptr < buf ) {
            printf("Empty string!\n");
            continue;
        }
        ptr[1] = '\0';
        while ( ptr >= buf && ! isspace(*ptr) )
            --ptr;
        
        printf("Last word: %s\n", ++ptr);
    }
    
    return 0;
}

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

В этом коде программа запрашивает у пользователя строку и выводит на экран последнее слово этой строки. Вот список действий, которые выполняются в этом коде:

  1. Объявление переменных: — buf — буфер для хранения строки, введенной пользователем; — ptr — указатель, помогающий выделить последнее слово.
  2. Ввод строки от пользователя с помощью функции fgets().
  3. Проверка на пустую строку. Если строка пустая, выводится сообщение об этом и цикл продолжается.
  4. Поиск последнего слова в строке с помощью цикла for и функции isspace().
  5. Если последнее слово пустое, выводится сообщение об этом и цикл продолжается.
  6. Указатель ptr устанавливается на первое символ последнего слова.
  7. Вывод последнего слова с помощью функции printf().
  8. Повторение действий с 2 по 7 для каждой строки, введенной пользователем.
  9. Возврат 0, что означает успешный конец работы программы.

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


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

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

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