Определить, сколько раз каждая буква латинского алфавита встречается в заданной строке - C (СИ)

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

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

Дана строка длиной не более 80 символов, оканчивающаяся точкой. Определить, сколько раз каждая буква латинского алфавита встречается в данной строке. Наброски скину вечером. как сделать отбор латинскиских?

Решение задачи: «Определить, сколько раз каждая буква латинского алфавита встречается в заданной строке»

textual
Листинг программы
int count[26];
for(i=0; i<26; i++) count[i] = 0;
for (j=0; j<80; j++) {
  char c = s[j];
  if (c=='.' || c=='\0') break;
  i = -1;
  if ('a' <= c && c <= 'z') i = c - 'a';
  if ('A' <= c && c <= 'Z') i = c - 'A';
  if (i >=0) count[i]++;
}

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

В данном коде происходит подсчет количества вхождений каждой буквы латинского алфавита в заданной строке.

  1. Создается массив count размером 26, и все его элементы инициализируются нулем. Этот массив будет использоваться для подсчета количества вхождений каждой буквы.
  2. Происходит два цикла:
    • Внешний цикл: перебирает все буквы латинского алфавита от 'a' до 'z'.
    • Внутренний цикл: перебирает все символы в заданной строке.
  3. Для каждого символа в строке выполняются следующие действия:
    • Если символ равен точке или нулю (что означает конец строки), то внутренний цикл прерывается.
    • Переменной i присваивается значение, которое будет использоваться для определения позиции символа в алфавите.
    • Если символ является буквой, то i присваивается значение, которое соответствует позиции этой буквы в алфавите.
    • Если i не равно нулю (то есть это не пробел), то значение i используется для увеличения соответствующего элемента массива count.
  4. По завершении обоих циклов, массив count содержит количество вхождений каждой буквы латинского алфавита в заданной строке.

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


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

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

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