Напишите программу, которая выводит последнее слово переданной её символьной строки - C (СИ)

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

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

Напишите программу, которая выводит последнее слово переданной её символьной строки.

Решение задачи: «Напишите программу, которая выводит последнее слово переданной её символьной строки»

textual
Листинг программы
#include "conio.h"
#include "stdio.h"
#include "windows.h"
 
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char * str = new char[1000];
    printf("Введите строку:\n");
    fgets(str, 1000, stdin);    
    int n = -1, k;
    for (int i = 0; i < 1000; i++){     
        if (str[i] == ' '){
            n = i;
        }
        if (str[i] == '\0'){
            k = i;
            break;
        }       
    }
    printf("Последнее слово:\n");
    for (int i = n + 1; i < k; i++){
        printf("%c", str[i]);
    }
    delete[] str;
    _getch();
    return 0;
}

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

В этом коде:

  1. *Строка, введенная пользователем, сохраняется в переменной str типа `charс помощью функцииfgets()`.**
  2. Переменная n инициализируется значением -1, а переменная k пока не инициализируется.
  3. Цикл for проходит по всем символам строки str. Если текущий символ является пробелом, то значение переменной n присваивается текущему индексу. Если текущий символ является нулевым (символом конца строки), то значение переменной k присваивается текущему индексу и цикл прерывается.
  4. Цикл for проходит от n+1 до k-1, выводя каждый символ на экран с помощью функции printf().
  5. После окончания работы программы, переменная str удаляется с помощью функции delete[].
  6. Функция _getch() используется для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
  7. Функция main() возвращает 0, что означает успешное завершение программы.

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


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

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

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