若羽 发表于 2022-10-26 20:49:34

c语言十进制转化为二进制

#include <stdio.h>
#define m 10
int main()
{
        int a, x, n, j;
        n = 0;
        printf("输入一个十进制数:");
        scanf_s("%d", &x);
       j = 0;
        while (x!=1)
        {
                a = x % 2;
                x /= 2;
                n++;
                j++;
        }
        while (j!=0)
        {
                printf("%d", a);
                        j--;
        }
        return 0;
}
结果是乱码

jackz007 发表于 2022-10-26 21:07:12

本帖最后由 jackz007 于 2022-10-26 21:12 编辑

#include <stdio.h>

#define m 10

int main()
{
      int a , x , n , j         ;
      n = 0                        ;
      printf("输入一个十进制数:") ;
      scanf("%d", & x)             ;
      j = 0                        ;
      while(x)                        // 改这里
      {
                a = '0' + x % 2   ;// 改这里
                n ++               ;
                j ++               ;
      }
      while(j)
      {
                printf("%c", a) ; // 改这里
                j --                   ;
      }
      return 0;
}
      编译、运行实况:
D:\\C>g++ -o x x.c

D:\\C>x
输入一个十进制数:63
111111
D:\\C>x
输入一个十进制数:108
1101100
D:\\C>
页: [1]
查看完整版本: c语言十进制转化为二进制