Выяснить, какая русская буква встречается в максимальном количестве слов - C (СИ)
Формулировка задачи:
На языке С выяснить,какая русская буква встречается в максимальном количестве слов.
Решение задачи: «Выяснить, какая русская буква встречается в максимальном количестве слов»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<locale.h>
#include<string.h>
int main()
{
setlocale(LC_ALL,"RUS");
char str[] = "The word слово is a russian one";
char keys[] = "а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ы,ъ,э,ю,я";
char * pch;
int count = 0;
puts(str);
pch = str;
for(int i = 0;i < strlen(str);++i)
{
for(int j = 0;j < strlen(keys);++j)
{
if(*pch == keys[j]) count++;
}
++pch;
}
printf("В этой строке ");
printf("%d",count);
printf(" русских букв");
_getch();
}
Объяснение кода листинга программы
Выполнение программы:
- Включаем необходимые заголовочные файлы.
- Устанавливаем русскую локаль.
- Объявляем переменные:
str- строка, в которой будем искать русские буквы;keys- массив русских букв для поиска;pch- указатель на текущий символ в строке;count- счётчик найденных букв.
- Выводим исходную строку.
- Перебираем символы исходной строки:
- Для каждого символа перебираем соответствующие ему русские буквы из массива
keys. - Если символ равен русской букве, увеличиваем счётчик
count.
- Для каждого символа перебираем соответствующие ему русские буквы из массива
- Выводим количество найденных русских букв.