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

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

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

написать программу, которая копирует на экран, текст с клавиатуры и размещает каждое слово в новую строку. Учесть, что между словами может быть несколько пробелов, в этом случае между словами не должны пропускаться несколько строк.

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main()
{
    char str[80], *p;
    gets(str);
    p = strtok(str," ");
    do
    {
        printf ("%s\n",p);
        p = strtok('\0',",. ");
    }
    while (p);
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Объявление переменных: строка str, указатель p
  3. Считывание строки с клавиатуры с помощью функции gets(str)
  4. Разделение строки на слова с помощью функции strtok(str, )
  5. Организация цикла do-while для вывода каждого слова на новой строке
  6. Внутри цикла, выводим каждое слово на новой строке с помощью функции printf
  7. Используем функцию strtok снова, чтобы найти следующее слово после разделителя (в данном случае пробела) и очистить остаток строки от этого разделителя
  8. Проверяем, не пустой ли указатель p, чтобы продолжать цикл
  9. Завершаем программу возвратом 0 из функции main Код работает следующим образом:
  10. Считывает строку с клавиатуры
  11. Разбивает эту строку на отдельные слова
  12. Выводит каждое слово на новой строке
  13. Программа завершается, когда все слова будут выведены

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

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