Вывод номеров встречающихся букв во входном потоке - C (СИ)
Формулировка задачи:
В теме книги обсуждались указатели, но у меня они употреблены номинально и можно было обойтись без них. Можно ли более простой способ для решения данной задачи найти с применением указателей?
Листинг программы
- #include <stdio.h>
- void sign(char *a);
- int main(void)
- {
- char ch;
- while((ch = getchar()) != EOF)
- {
- sign(&ch);
- }
- return 0;
- }
- void sign(char *a)
- {
- int i = 0;
- char m[] = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
- int k[] = {1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26};
- if(*a >= 'A' && *a <= 'Z' || *a >= 'a' && *a <='z')
- {
- while(*a != m[i])
- {
- ++i;
- }
- printf("%c - %d буква в алфавите\n", m[i], k[i]);
- }
- i = 0;
- }
Решение задачи: «Вывод номеров встречающихся букв во входном потоке»
textual
Листинг программы
- //gcc 5.4.0
- #include <stdio.h>
- int main(void)
- {
- for (int i='a'; i<'z'; i++)
- printf("%c = %d\n", i, i);
- return 0;
- }
Объяснение кода листинга программы
В этом коде используется цикл for для перебора всех букв от 'a' до 'z' (включительно). На каждой итерации цикла выводится сообщение в формате буква = число
, где буква — это текущее значение переменной i, а число — это значение этой же переменной i. Таким образом, программа выводит пары сообщений буква = число
для каждой буквы от 'a' до 'z'. Возвращаемое значение 0 оператором return означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д