В предложении найти слова, начинающиеся на букву 'а' - C (СИ)

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

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

Помогите, пожалуйста, решить задачу в предложении найти слова, начинающие на букву 'а' и посчитать их количество

Решение задачи: «В предложении найти слова, начинающиеся на букву 'а'»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main()
{
    char str1[200];
    char mas[20][10];
    char *ch;
    printf ("enter string = ");
    gets(str1);
    int i,j,count=0;
 
    ch = strtok(str1, " ");         //запись каждого слова в массив
    for (i = 0; ch != '\0'; i++)
        {
            strcpy(mas[i], ch);
            ch = strtok(NULL, " ");
        }
 
for(j=0;j<i;j++) //по всем словам
{
    if(mas[j][0]=='a')
    {
        count++;
        printf("%s ",mas[j]);
    }
}
printf("\nCount = %d",count);
return 0;
}

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

В этом коде:

  1. Объявлены три переменные:
    • str1 типа char размером в 200 символов, в которую программа предлагает пользователю ввести строку.
    • mas типа char размером в 20 строк по 10 символов в каждой, эта переменная будет хранить все слова из введённой строки.
    • ch типа char* (указатель на символ), в который будет записываться каждое отдельное слово.
  2. После вывода приглашения для ввода строки, пользователь вводит строку, которую сохраняют в переменной str1.
  3. Далее объявляются две переменные:
    • i типа int, счётчик количества слов в строке.
    • j типа int, счётчик по всем словам.
  4. В цикл for запускается ch = strtok(str1, ), разделяющий введённую строку на отдельные слова и сохраняющий их в переменной ch. Каждое слово записывают в массив mas.
  5. В следующем цикле for проверяют каждое слово в массиве mas на условие mas[j][0]=='a', если это так то увеличивают счётчик count и выводят слово на экран.
  6. В конце программы выводят значение счётчика count, которое показывает количество слов, начинающихся на букву а.
  7. Возвращают 0, чтобы указать, что программа успешно завершилась.

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

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