Запросить строку и вычислить количество слов, начинающихся с буквы "а" и оканчивающихся буквой "б" - 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; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и вводом-выводом
- Установка локали на русскую, чтобы корректно работать с русскими символами
- Объявление переменной const SIZE = 80 и создание массива char str[SIZE] для хранения введенной строки
- Вывод сообщения с просьбой ввести строку
- Считывание строки с помощью функции fgets(str, SIZE - 1, stdin) и добавление символа \0 в конец строки для корректного разделения строки на слова
- Разделение строки на слова с помощью функции strtok(str,
,.
) и сохранение указателя на первое слово в переменную pch - Вывод первого слова на экран
- Проверка, является ли первое слово словом, начинающимся с буквы
а
и оканчивающимся буквойб
- Если слово удовлетворяет условию, увеличивается счетчик подходящих слов на 1
- Следующее слово получается с помощью функции strtok(NULL,
,.
) - Цикл продолжается, пока не будет получено NULL значение, сигнализирующее об окончании списка слов
- Вывод количества подходящих слов на экран
- Возвращение 0, чтобы указать на успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д