Пройти по алфавиту несколько раз и найти букву с кодом 45 - C (СИ)
Формулировка задачи:
Допустим есть алфавит из 33 букв. нужно найти букву с кодом 45. как сделать чтобы вот мы прошли 33 буквы а потом начали заново алфавит проходить продолжая считать 34,35,36,......,45. и вывести на экран эту букву. делаю с помощью цикла for(i=0;i<33;i++) но как только пройду 33 буквы то цикл прерывается и пишет что буква не найдена.
Решение задачи: «Пройти по алфавиту несколько раз и найти букву с кодом 45»
textual
Листинг программы
#include <stdio.h> const char ALPHABET[] = "abcdefghijklmnopqrstuvwxyz"; int main(void) { unsigned n; while ( printf("n = ") && scanf("%u", &n) == 1 ) printf("alpha -> %c\n", ALPHABET[n % (sizeof(ALPHABET) - 1)]); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлен массив ALPHABET, содержащий строку
abcdefghijklmnopqrstuvwxyz
, соответствующую английскому алфавиту. - В функции main() объявлена переменная n типа unsigned, которая будет использоваться для перебора букв алфавита.
- В цикле while программа запрашивает у пользователя ввод значения переменной n (это может быть любая целая неотрицательная цифра).
- Внутри цикла программа выводит на экран букву алфавита с индексом n % (sizeof(ALPHABET) - 1), где % - оператор взятия остатка от деления.
- Размер массива ALPHABET - 1 равен 26, так как в нем 26 букв алфавита.
- Если пользователь ввел ноль, цикл while прекращается и программа завершается.
- Возвращаемое значение функции main() равно 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д