Если указанная буква есть в предложении - все слова с ней удалить и вывести оставшиеся - C (СИ)
Формулировка задачи:
Решение задачи: «Если указанная буква есть в предложении - все слова с ней удалить и вывести оставшиеся»
#include <stdio.h> #include <conio.h> #include <windows.h> #include <ctype.h> #include <string.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); printf("Введите строку\n"); char line[100]; gets(line); char bukva; printf("Введите букву\n"); scanf("%c",&bukva); printf("Это буква: %c\n",bukva); const char*roz="+- /*,.:;"; char * qw; qw=strtok(line,roz); strchr(qw,bukva); //надо тут что-то намутить, возможно, if (...)!=NULL ... и потом копирнуть while(qw!=NULL){ printf("%s ",qw); qw=strtok(NULL,roz); } getch();
Объяснение кода листинга программы
В этом коде считывается строка и буква с помощью функций gets
и scanf
.
Переменная bukva
содержит введенную букву.
Переменная roz
содержит строку, в которой заданы разделители.
Переменная qw
указывает на первое слово в строке.
Функция strtok
разбивает строку на слова, используя разделители из строки roz
.
Функция strchr
ищет в слове введенную букву.
В цикле, пока qw
не равно NULL, выводится слово, затем qw
обновляется на следующее слово в строке.
В конце программы используется функция getch
для получения ввода пользователя и завершения программы.
Возможно, в коде предполагалось добавить проверку if (strchr(qw,bukva) != NULL)
, чтобы проверить, содержит ли слово введенную букву, и, если да, удалить его. Но в текущем коде эта проверка не выполняется.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д