Перевод из 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, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д