在键盘上输入一个十进制正整数,将其转换为对应的二进制数,并在屏幕上输出!

方法一:

#include <stdio.h>
int main()
{
    int num;int temp;int i=0;
    int arr[20];
    printf("请输入一个十进制数:\n");
    scanf("%d", &num);
     do
    {
    temp=num%2;
    num=num/2;
    arr[i++]=temp; 
    }
    while (num!=0);
    for (int j = i-1; j>=0; j--)
   printf("%d",arr[j]);
}

方法二:

#include <stdio.h>

int main()

{

    int remainder = 0; //余数 ,二进制输出为0,1组成,这里最好用long, int的表示范围较小;

    int binary = 0;    //二进制数

    int i = 1;

    int num = 0;

    printf("请输入一个正整数:\n");

    scanf("%ld", &num);

    if (num >= 0)

    {

        while (num != 0)

        {

            remainder = num % 2;

            binary += i * remainder;

            num /= 2;

            i *= 10;

        }

        printf("这个数转为二进制为:%ld", binary);

    }

    else

        printf("您输入的数非法!");

    return 0;

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐