Перевод из 10 системы счисления в 2 - C (СИ) (77593)
Формулировка задачи:
Суть такова!
Есть програма на паскале,которая переводит 10 систему числения в 2
я решил перегнать в borland C(чистый С),и вот что получилось:
Но в результате я получаю только "0"..подскажите в чем ошибка..
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.
#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); }}
Решение задачи: «Перевод из 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; }
Объяснение кода листинга программы
Вывод:
- Объявлены следующие переменные: b[255] - массив, в который будут записываться результаты перевода из 10 системы счисления в 2. a, i, n - переменные для выполнения алгоритма.
- Программа запрашивает число для перевода и сохраняет его в переменной
a
. - Переменная
i
инициализируется нулем. Она используется для индексации массиваb
. - Запускается цикл, который выполняется до тех пор, пока
a
больше или равно 1. - Внутри цикла выполняются следующие действия:
- Увеличивается значение
i
на единицу. - В массивb
записывается остаток от деленияa
на 2. - Значениеa
делится на 2. - После выполнения цикла, значение
i
присваивается переменнойn
. - Запускается цикл, который выполняется до тех пор, пока значение
i
больше нуля. - Внутри цикла выполняется печать значения элемента массива
b
с индексомi
. - В конце программы запрашивается ввод символа.
- Возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д