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

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

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

Почему не работает этот код?
#include <stdio.h>
#include <string.h>
int main()
{
    char arr[400000];
    int i,k;
    scanf("%s",&arr);
    k=strlen(arr);
    for (i=k;i>=k;i--)
    {
        if (arr[i] != ' ')
        printf("%c",arr[i]);
    }
    return 0;
}

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

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. Строка: Вводится пользователем с помощью функции fgets().
  2. Переменная n: Используется для хранения индекса последнего пробела в строке.
  3. Переменная k: Используется для хранения индекса конца строки (включая символ новой строки).
  4. Цикл for: Проходит по каждому символу строки, начиная с 0 и заканчивая 999.
  5. Если str[i] == ' ': то значение переменной n устанавливается в i.
  6. Если str[i] == '\0': то значение переменной k устанавливается в i, и цикл прерывается.
  7. Цикл for: Проходит по символам от n + 1 до k - 1 (не включая пробелы и символы новой строки).
  8. Выводит: каждый символ с помощью функции printf().
  9. Значение переменной str освобождается с помощью функции delete[].
  10. Функция _getch(): используется для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
  11. Возвращает 0: чтобы указать, что программа успешно завершилась.

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


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

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

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