Запросить строку и вычислить количество слов, начинающихся с буквы "а" и оканчивающихся буквой "б" - C (СИ)

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

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

Составьте программу, которая осуществляет запрос строки с клавиатуры и вычисляет количество слов, начинающихся с буквы а и оканчивающихся буквой б

Решение задачи: «Запросить строку и вычислить количество слов, начинающихся с буквы "а" и оканчивающихся буквой "б"»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <locale.h>
 
 
int main() {
    system("chcp 1251");
    const SIZE = 80;
    char str[SIZE];
    printf("Введите строку: ");
    fgets(str, SIZE - 1, stdin);
    str[SIZE] = '\0';
    for (int i = 0; i < SIZE - 1; i++) {
        if (str[i] == '\n') {
            str[i] = '\0';
            break;
        }
    }
 
    int counter = 0;
    char *pch = strtok(str, " ,.");
    printf("Лексемы:\n");
    while (pch != NULL) {
        printf("%s\n", pch);
        if ((pch[0] == 'а') && (pch[strlen(pch) - 1] == 'б')) {
            counter++;
        }
        pch = strtok(NULL, " ,.");
    }
 
    printf("подходящих строк: %d\n", counter);
    return 0;
}

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

  1. Подключение необходимых библиотек для работы со строками и вводом-выводом
  2. Установка локали на русскую, чтобы корректно работать с русскими символами
  3. Объявление переменной const SIZE = 80 и создание массива char str[SIZE] для хранения введенной строки
  4. Вывод сообщения с просьбой ввести строку
  5. Считывание строки с помощью функции fgets(str, SIZE - 1, stdin) и добавление символа \0 в конец строки для корректного разделения строки на слова
  6. Разделение строки на слова с помощью функции strtok(str, ,.) и сохранение указателя на первое слово в переменную pch
  7. Вывод первого слова на экран
  8. Проверка, является ли первое слово словом, начинающимся с буквы а и оканчивающимся буквой б
  9. Если слово удовлетворяет условию, увеличивается счетчик подходящих слов на 1
  10. Следующее слово получается с помощью функции strtok(NULL, ,.)
  11. Цикл продолжается, пока не будет получено NULL значение, сигнализирующее об окончании списка слов
  12. Вывод количества подходящих слов на экран
  13. Возвращение 0, чтобы указать на успешное выполнение программы

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


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

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

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