Выводить каждый введенный символ и его десятичный код ASCII - C (СИ)
Формулировка задачи:
Есть задача
Напишите программу, которая читает входные данные до тех пор, пока не встретится символ #. Программа должна выводить каждый введенный символ и его десятичный код ASCII. Каждая строка вывода должна содержать восемь пар “символ-код".
Вот до чего "допер"
Можете свои варианты накатать, а я допру где "затупил"
#include <stdio.h>
int main(void)
{
char ch;
int i,j;
printf("Введите текст или набор символов.\n");
printf("Мы выведем каждый символ и соответствующий ему ASCII код.\n");
printf("Для завершения ввода введите #\n");
while ((ch = getchar()) != '#')
{
for (i = 0; i <= 7; i++)
{
if (ch == ' ')
ch = getchar();
if (ch == '#')
break;
j = ch;
printf("%c - %d; ", j, j);
ch = getchar();
}
printf("\n");
}
return 0;Решение задачи: «Выводить каждый введенный символ и его десятичный код ASCII»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
char ch;
int cnt = 0;
while ((ch = getchar()) != '#')
{
printf("[%c - %3d] ", ch, ch);
cnt = (cnt + 1) % 8;
if (cnt == 0) printf("\n");
}
return 0;
}
Объяснение кода листинга программы
Вывод каждого введенного символа и его десятичного кода ASCII:
- Включаем стандартную библиотеку
- Объявляем переменную типа char с именем ch для хранения вводимого символа
- Объявляем переменную типа int с именем cnt для подсчета количества выводимых символов
- Запускаем цикл while, который будет выполняться до тех пор, пока не будет введен символ '#'
- Внутри цикла, с помощью функции getchar(), считываем введенный символ и присваиваем его переменной ch
- Выводим на экран символ и его десятичный код ASCII, используя функцию printf()
- Увеличиваем значение переменной cnt на 1, используя операцию сложения и оператор присваивания с остатком от деления на 8
- Если значение переменной cnt равно 0, выводим символ новой строки с помощью функции printf()
- После выхода из цикла while, программа завершается и возвращает 0, используя оператор return