Выделения последнего слова - 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;
}
Объяснение кода листинга программы
В этом коде программа запрашивает у пользователя строку и выводит на экран последнее слово этой строки. Вот список действий, которые выполняются в этом коде:
- Объявление переменных: — buf — буфер для хранения строки, введенной пользователем; — ptr — указатель, помогающий выделить последнее слово.
- Ввод строки от пользователя с помощью функции fgets().
- Проверка на пустую строку. Если строка пустая, выводится сообщение об этом и цикл продолжается.
- Поиск последнего слова в строке с помощью цикла for и функции isspace().
- Если последнее слово пустое, выводится сообщение об этом и цикл продолжается.
- Указатель ptr устанавливается на первое символ последнего слова.
- Вывод последнего слова с помощью функции printf().
- Повторение действий с 2 по 7 для каждой строки, введенной пользователем.
- Возврат 0, что означает успешный конец работы программы.