Если указанная буква есть в предложении - все слова с ней удалить и вывести оставшиеся - 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)
, чтобы проверить, содержит ли слово введенную букву, и, если да, удалить его. Но в текущем коде эта проверка не выполняется.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д