Перевод из 10-ной в 2-ную систему счисления - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста! Задали написать программу перевода из 10 в 2 сс. Но у меня почему-то она не работает. Или я не правильно что-то делаю.
int main()
{ int x,n,y;
 
scanf("%d",&x);
 
while (x > 0)
    y = x % 2;
    n = y + n;
    x = x / 2;
 
printf ("%d",n);
getch();
}

Решение задачи: «Перевод из 10-ной в 2-ную систему счисления»

textual
Листинг программы
int main()
{ int x,y, i; char t[101];
 
scanf("%d",&x);
 t[100] = '\0'; i=100;
while (x > 0)
    y = x % 2;
    t[--i] = '0' + y;
    x = x / 2;
}
printf ("%s\n", t+i);
getch();
return 0;
}

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

В этом коде выполняется перевод числа из десятичной системы счисления в двоичную. Вот список действий, которые выполняются в коде:

  1. Переменная x инициализируется значением, которое вводится пользователем.
  2. Переменная t инициализируется нулевым символом ('\0').
  3. Переменная i инициализируется значением 100.
  4. В цикле while выполняется перевод числа из десятичной системы в двоичную.
  5. В каждой итерации цикла значение переменной y равно остатку от деления x на 2.
  6. Значение y преобразуется в символ и записывается в массив t с индексом i.
  7. Значение i уменьшается на 1 перед каждой новой итерацией цикла.
  8. Значение x делится на 2 перед каждой новой итерацией цикла.
  9. После окончания цикла выполняется вывод строки, которая хранится в массиве t.
  10. Программа ожидает нажатия клавиши для завершения работы.
  11. Возвращается 0, что означает успешное завершение программы.

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


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

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

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