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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3.  
  4. int main()
  5. {
  6.     int b[255];
  7.     int a,i,n;
  8.     puts("Vv a");
  9.     scanf("%d", &a);
  10.     i = 0;
  11.     while (a>=1)
  12.     {
  13.         i = i + 1;
  14.         b[i] = a % 2;
  15.         a = a / 2;
  16.     }
  17.     n = i;
  18.  
  19.     for (i = n; i > 0; i--)
  20.     {
  21.         printf("%d",b[i]);
  22.     }
  23.     getchar();
  24.     getchar();
  25.     return 0;
  26. }

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

Вывод:

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы