В предложении найти слова, начинающиеся на букву 'а' - 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;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные:
str1типаcharразмером в 200 символов, в которую программа предлагает пользователю ввести строку.masтипаcharразмером в 20 строк по 10 символов в каждой, эта переменная будет хранить все слова из введённой строки.chтипаchar*(указатель на символ), в который будет записываться каждое отдельное слово.
- После вывода приглашения для ввода строки, пользователь вводит строку, которую сохраняют в переменной
str1. - Далее объявляются две переменные:
iтипаint, счётчик количества слов в строке.jтипаint, счётчик по всем словам.
- В цикл
forзапускаетсяch = strtok(str1,), разделяющий введённую строку на отдельные слова и сохраняющий их в переменнойch. Каждое слово записывают в массивmas. - В следующем цикле
forпроверяют каждое слово в массивеmasна условиеmas[j][0]=='a', если это так то увеличивают счётчикcountи выводят слово на экран. - В конце программы выводят значение счётчика
count, которое показывает количество слов, начинающихся на буквуа. - Возвращают 0, чтобы указать, что программа успешно завершилась.