Написать, какие буквы и сколько раз встречаются в заданном тексте - C (СИ)
Формулировка задачи:
Строка, содержащая произвольный текст, состоит
не более чем из 255 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически правильной форме, например а — 25 раз, v — 3 раза и т. д
Решение задачи: «Написать, какие буквы и сколько раз встречаются в заданном тексте»
textual
Листинг программы
- #include <stdio.h>
- #define N 26
- int main()
- {
- char str[] = "Etiam scelerisque, nunc ac egestas consequat, odio nibh euismod nulla, eget auctor orci nibh vel nisi."
- "Aliquam erat volutpat. Mauris vel neque sit amet nunc gravida congue sed sit amet purus."
- " Quisque lacus quam, egestas ac tincidunt a, lacinia vel velit. Aenean facilisis nulla vitae"
- " urna tincidunt congue sed ut dui. Morbi malesuada nulla nec purus convallis consequat.";
- int alp[N] = {0}, i = 0;
- while(str[i]){
- if(str[i] >= 'a' && str[i] <= 'z')
- alp[str[i] - 'a']++;
- i++;
- }
- for(i = 0; i < N; i++)
- if(alp[i])
- printf("letter '%c' - %4d times\n", i + 'a', alp[i]);
- return 0;
- }
Объяснение кода листинга программы
В данном коде на языке C реализован подсчёт количества вхождений каждой буквы в заданном тексте. Список действий:
- Подключение стандартной библиотеки для работы с вводом/выводом.
- Установка константы N, которая равна 26 (буквы в латинском алфавите от 'a' до 'z').
- Создание массива alp типа int для хранения количества вхождений каждой буквы. Изначально все элементы массива равны 0.
- Объявление переменной i, которая будет использоваться как счётчик в цикле.
- Ввод текста в виде трёх строк в переменную str.
- При каждой итерации цикла, который выполняется до тех пор, пока не встретится символ 0 (конец строки), проверяется, является ли текущий символ буквой от 'a' до 'z'. Если да, то к текущей букве (str[i]) приводится значение i (для корректного сравнения символов), и увеличивается значение в соответствующем элементе массива alp.
- После завершения цикла происходит вывод на экран количества вхождений каждой буквы в формате
letter 'x' - y times
, где 'x' — буква, y — количество вхождений.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д