Удалить слова определённой длины, если ввод осуществляется при помощи команды getchar - C (СИ)
Формулировка задачи:
Подскажите как удалить слова определённой длины, если ввод осуществляется при помощи команды getchar или приведите пример простейшей программы.
Решение задачи: «Удалить слова определённой длины, если ввод осуществляется при помощи команды getchar»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #define N 256 #define D " " int main(void) { setlocale(LC_ALL,"RU"); char n[N]; char *str; int i=0,ch; printf("Введите предложение: "); while ((n[i]=getchar())!='\n'&&i<N-1)i++; n[i] = '\0'; printf("\nВы ввели предложение : "%s" ",n); printf("\nВведите количество букв в словах, которые нужно удалить: "); scanf("%d",&ch); for(str=strtok(n,D);str!=NULL;str=strtok(NULL,D)) if(strlen(str)!=ch)printf("%s ",str); return(0); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с языком C
- Определение констант и переменных
- N (256) - размер массива символов
- D (
- i (0) - счетчик для цикла
- n (массив символов) - ввод предложения
- str (указатель на строку) - переменная для работы со строками
- Ввод предложения с помощью функции getchar
- Вывод введенного предложения с помощью функции printf
- Ввод количества букв в словах, которые нужно удалить с помощью функции scanf
- Использование функции strtok для разделения строки на слова
- Токены создаются с помощью разделителя пробела
- Проверка длины каждого слова с помощью функции strlen
- Если длина слова не равна введенному количеству букв, слово выводится на экран
- Возврат 0 для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д