Задано число диапазона 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;
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки для работы с вводом/выводом
  2. Объявление переменных: a. a - тип unsigned long, начальное значение 1 b. n - тип unsigned long, используется для хранения числа, введенного пользователем c. r - тип unsigned long, используется для хранения результата преобразования числа из восьмеричной системы счисления в десятичную
  3. Вывод сообщения и запрос ввода числа от пользователя
  4. Объявление переменной d типа int, используется для хранения последней цифры числа
  5. Запуск цикла while, который выполняется до тех пор, пока n больше 0
  6. Вычисление последней цифры числа путем взятия остатка от деления n на 10
  7. Деление n на 10
  8. Добавление последней цифры числа, умноженной на a, к r
  9. Умножение a на 8
  10. Повторение шагов с 6 по 9 до тех пор, пока n больше 0
  11. Вывод значения r
  12. Конец функции main
  13. Возврат 0, что означает успешный конец работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы