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