一个小编程问题(来帮我看看)

来源:百度知道 编辑:UC知道 时间:2024/06/07 00:04:45
输入一个十进制数,转化为2进制输出

unsigned a,b,c[100],d,e,m,n;
int i,j,k;
printf("输入一个十进制数:");
scanf("%d",&b);
i=0;
do
{
c[i]=b%2;
b=b/2;
i++;
}while(b>1);
k=i-1;
printf("\n");
printf("它的二进制为:");
for(j=k;j<=0;j--)
printf("%d",c[j]);

#include<stdio.h>
void main()
{
unsigned b,c[100],n;
int i,k,j;
printf("输入一个十进制数:");
scanf("%d",&b);
n = b;
i=0;
do
{
c[i]=b%2;
b=b/2;
i++;
}while(b>1);

c[i] = 1;
k=i;

printf("\n");
printf("它的二进制为:");
if(n!=1){
for(j=k;j>=0;j--)
printf("%d",c[j]);}
else
printf("1");
}

unsigned a,b,c[100],d,e,m,n;
int i,j,k;
printf("输入一个十进制数:");
scanf("%d",&b);
i=0;
do
{
c[i]=b%2;
b=b/2;
i++;
}while(b>1); //这里错了,改为while(b>0);
k=i-1;
printf("\n");
printf("它的二进制为:");
for(j=k;j<=0;j--)
printf("%d",c[j]);

这就是手工计算的方法啊。没什么特别的。
十进制数除以2看余数。逆序排下来就是其二进制数。。

不太洞

可以用栈