Удалить слова определённой длины, если ввод осуществляется при помощи команды 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);
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с языком C
  2. Определение констант и переменных
    • N (256) - размер массива символов
    • D ( ) - разделитель, пробел
    • i (0) - счетчик для цикла
    • n (массив символов) - ввод предложения
    • str (указатель на строку) - переменная для работы со строками
  3. Ввод предложения с помощью функции getchar
  4. Вывод введенного предложения с помощью функции printf
  5. Ввод количества букв в словах, которые нужно удалить с помощью функции scanf
  6. Использование функции strtok для разделения строки на слова
    • Токены создаются с помощью разделителя пробела
  7. Проверка длины каждого слова с помощью функции strlen
    • Если длина слова не равна введенному количеству букв, слово выводится на экран
  8. Возврат 0 для завершения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы