Подсчитать количество букв «а» в последнем слове последовательности - C (СИ)
Формулировка задачи:
Добрый вечер!
Группы символов, разделенные пробелами и не содержащие пробелы внутри себя, будем называть словами. Подсчитать количество букв «а» в последнем слове данной последовательности.
Решение задачи: «Подсчитать количество букв «а» в последнем слове последовательности»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> void trim_end(char *str, char ch) { char *ptr = NULL; size_t size = strlen(str); ptr = str + size - 1; while (*ptr == ch && ptr >= str) { *ptr-- = '\0'; } } size_t character_count(const char *str, const char ch) { size_t count = 0u; while (str && *str) { if (*str++ == ch) { count++; } } return count; } int main() { char str[BUFSIZ]; const char ch = 'a'; printf("Please enter string: "); if (fgets(str, BUFSIZ, stdin)) { char *last_space = NULL; trim_end(str, '\n'); last_space = strrchr(str, ' '); if (last_space == NULL) { last_space = str; } else { last_space++; } printf("'%c' = %u\n", ch, character_count(last_space, ch)); } #ifdef _MSC_VER system("pause"); #endif return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяются две функции: trim_end и character_count
- Функция trim_end принимает два аргумента: строку и символ. Она обрезает конец строки до первого вхождения указанного символа
- Функция character_count принимает два аргумента: строку и символ. Она подсчитывает количество указанных символов в строке
- В функции main пользователю предлагается ввести строку
- Введенная строка сохраняется в массиве str
- Затем в функции main вызывается функция trim_end для удаления символа новой строки из введенной строки
- В функции main вызывается функция strrchr для поиска последнего пробела в строке
- Если последний пробел не найден, то он считается первым символом строки
- В противном случае, указатель на последний пробел увеличивается на единицу, чтобы пропустить пробел
- Затем вызывается функция character_count для подсчета количества указанных символов в найденной подстроке
- Результат выводится на экран
- В конце программы добавлен вызов функции pause для приостановки выполнения программы до нажатия клавиши Enter в консоли Windows
- Программа завершается возвратом значения 0, что означает успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д