Вывести слова введенной фразы с клавиатуры - C (СИ)
Формулировка задачи:
Прога должна выводить слова введенной фразы с клавиатуры...
Подскажите пжлста где ошибка(и) и что нужно исправить в данной проге....
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <iostream.h> void main(){ char s[255]; char *slovo; printf("\nVvedite frazu:\n "); gets(s); if ((slovo = strtok(s," ")) == NULL){ printf("Net slov"); exit(0); } puts(slovo); while((slovo = strtok(NULL,"., ?!:"))!= NULL) puts(slovo); getch(); }
Решение задачи: «Вывести слова введенной фразы с клавиатуры»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { char s[255], *slovo; printf("Vvedite frazu:\n"); gets(s); slovo = strtok(s, "., ?!:"); do { printf("%s\n", slovo); } while ((slovo = strtok(NULL,"., ?!:")) != NULL); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками
- Объявление переменных: строки s и указателя на строку slovo
- Вывод сообщения с просьбой ввести фразу
- Считывание строки с помощью функции gets(s)
- Разделение введенной строки на слова с помощью функции strtok(s,
., ?!:
) - Вывод первого слова на экран с помощью функции printf
- Проверка на условие окончания цикла while при помощи оператора !=
- При каждой итерации цикла переменная slovo принимает следующее слово в строке
- Цикл продолжается пока не будет достигнуто последнее слово в строке
- После окончания цикла выводится последнее слово
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д