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

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

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

Суть такова! Есть програма на паскале,которая переводит 10 систему числения в 2
program test;
uses crt;
var b:array [1..255] of integer;
    a,i,n:integer;
begin
clrscr;
write('Vvedite a=');
readln(a);
i:=0;
while a>=1 do
  begin
    i:=i+1;
    b[i]:=a mod 2;
    a:=a div 2;
  end;
n:=i;
for i:=n downto 1 do
write(b[i]:3);
readln;
end.
я решил перегнать в borland C(чистый С),и вот что получилось:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main(){
int b[255];
int a,i,n;
puts("Vv a");
scanf("%i",&a);
i=0;
while (a>=1){
i=i+1;
b[i]=a%2;
a=a/2;}
n=i;
for (i = n; i>0; i--)
{
printf("%i",a);
}}
Но в результате я получаю только "0"..подскажите в чем ошибка..

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

textual
Листинг программы
#include <stdio.h>
 
 
int main()
{
    int b[255];
    int a,i,n;
    puts("Vv a");
    scanf("%d", &a);
    i = 0;
    while (a>=1)
    {
        i = i + 1;
        b[i] = a % 2;
        a = a / 2;
    }
    n = i;
 
    for (i = n; i > 0; i--)
    {
        printf("%d",b[i]);
    }
    getchar();
    getchar();
    return 0;
}

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

Вывод:

  1. Объявлены следующие переменные: b[255] - массив, в который будут записываться результаты перевода из 10 системы счисления в 2. a, i, n - переменные для выполнения алгоритма.
  2. Программа запрашивает число для перевода и сохраняет его в переменной a.
  3. Переменная i инициализируется нулем. Она используется для индексации массива b.
  4. Запускается цикл, который выполняется до тех пор, пока a больше или равно 1.
  5. Внутри цикла выполняются следующие действия:   - Увеличивается значение i на единицу.   - В массив b записывается остаток от деления a на 2.   - Значение a делится на 2.
  6. После выполнения цикла, значение i присваивается переменной n.
  7. Запускается цикл, который выполняется до тех пор, пока значение i больше нуля.
  8. Внутри цикла выполняется печать значения элемента массива b с индексом i.
  9. В конце программы запрашивается ввод символа.
  10. Возвращается 0, что означает успешное выполнение программы.

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


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

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

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