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