Написать программу, которая копирует на экран, текст с клавиатуры и размещает каждое слово в новую строку - 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;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Объявление переменных: строка str, указатель p
- Считывание строки с клавиатуры с помощью функции gets(str)
- Разделение строки на слова с помощью функции strtok(str,
) - Организация цикла do-while для вывода каждого слова на новой строке
- Внутри цикла, выводим каждое слово на новой строке с помощью функции printf
- Используем функцию strtok снова, чтобы найти следующее слово после разделителя (в данном случае пробела) и очистить остаток строки от этого разделителя
- Проверяем, не пустой ли указатель p, чтобы продолжать цикл
- Завершаем программу возвратом 0 из функции main Код работает следующим образом:
- Считывает строку с клавиатуры
- Разбивает эту строку на отдельные слова
- Выводит каждое слово на новой строке
- Программа завершается, когда все слова будут выведены