В символьной строке сосчитать число слов, состоящих из более чем N букв - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, составить программу. Вот текст задания: В символьной строке сосчитать число слов, состоящих из более чем N букв.

Решение задачи: «В символьной строке сосчитать число слов, состоящих из более чем N букв»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
void main ()
{
    char arr[1000];
 
    int i,n,k=0,t=0;
    
    printf("Enter the text:\n");
    gets(arr);
 
    printf("Enter the N:\n");
    scanf("%d",&n);
    
    for(i = 0; i < strlen(arr); i++)
    {
        t++;
 
        if (arr[i] == ' ' || arr[i] == ',' || arr[i] == '.' ||arr[i] == ':' || arr[i] == '-')   // здесь можеш добавить еще знаки которыми будеш отделять слова
        {
            if (t-1 > n)
            {
                k++;
            }
            t = 0;
        }
    }
 
    printf("Answer: %d\n",k);
 
}

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

В этом коде:

  1. Объявлены переменные:
    • arr - массив символов для хранения введенной строки;
    • i, n, k=0, t=0 - счетчики для работы со строкой.
  2. Пользователю предлагается ввести строку и число N:
    • printf(Enter the text:\n); - вывод сообщения с просьбой ввести текст;
    • gets(arr); - ввод строки с помощью функции gets().
    • printf(Enter the N:\n); - вывод сообщения с просьбой ввести число N;
    • scanf(%d,&n); - ввод числа N с помощью функции scanf().
  3. Происходит обработка введенной строки:
    • for(i = 0; i < strlen(arr); i++) - цикл по всем символам строки;
    • t++ - увеличение счетчика слов;
    • if (arr[i] == ' ' || arr[i] == ',' || arr[i] == '.' ||arr[i] == ':' || arr[i] == '-') - проверка, является ли текущий символ знаком, отделяющим слова;
    • if (t-1 > n) - проверка, превышает ли текущее слово длину введенного числа N;
    • if (t-1 > n) { k++; - увеличение счетчика слов, длина которых превышает N;
    • t = 0; - сброс счетчика слов.
  4. Выводится результат:
    • printf(Answer: %d\n,k); - вывод результата на экран.

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


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

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

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