Перевести число из десятичной системы счисления в восьмеричную (цикл do/while) - C (СИ)
Формулировка задачи:
1. Перевести число из десятичной системы счисления в восьмеричную, используя цикл while ( do.. while)
Решение задачи: «Перевести число из десятичной системы счисления в восьмеричную (цикл do/while)»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { int n,b,k,c; printf ("n=\n"); scanf ("%d",&n); k=1; c=0; while (n>0) { b=n%8; //остаток от деления на 8 n/=8; //каждый раз будет делиться на 8, уменьшаясь c+=b*pow(10,k-1); //остаток от деления умножить на 10 в степени к-1, т.е. последнее число - 10^0, следующее число - 10^1 и т.д. b=0; //всегда будет обнуляться, чтобы в переменную можно было вновь занести остаток при делении на 8 k++; //будет увеличиваться на один(переменная для степени при составлении числа) } printf ("c=%d\n",c); system("pause"); return 0; }
Объяснение кода листинга программы
- В начале программы подключаются необходимые библиотеки (stdio.h и stdlib.h).
- Далее объявляются переменные: n, b, k, c.
- С помощью функции printf выводится запрос на ввод числа (n).
- С помощью функции scanf считывается введенное число и сохраняется в переменной n.
- Инициализируются переменные k=1 и c=0.
- Запускается цикл while, который выполняется до тех пор, пока n больше 0.
- Внутри цикла:
- Вычисляется остаток от деления n на 8 и сохраняется в переменной b.
- n делится на 8 (по модулю 8), и результат сохраняется в переменной n.
- К числу c добавляется произведение b на 10 в степени k-1.
- Переменная b обнуляется.
- Переменная k увеличивается на 1.
- После окончания цикла выводится значение переменной c.
- Запускается функция system(
pause
), которая ожидает нажатия клавиши для продолжения работы программы. - Программа возвращает 0, что означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д