这是我的做法,我是初学者
#include<stdio.h>
main()
{
int i,n,k,x[10];
scanf("%d",&n);
for(i=0;n=0;i++)
{
x[i]=n%2;
n=n/2;
}
for(k=i;k=(-1);k--)
printf("%d",x[i]);
}
这个在输入数后会产生1大串数字。。。求改正
#include<stdio.h>
main()
{
int i,n,k,x[10];
scanf("%d",&n);
for(i=0;n!=0;i++)//n不等于0时.....
{
x[i]=n%2;
n=n/2;
}
for(k=i-1;k!=(-1);k--)//k初始值为i-1,k的条件为不等于-1
printf("%d",x[k]);//输出x[k],而不是x[i]
}
main()
{
int i,n,k,x[10];
scanf("%d",&n);
for(i=0;n!=0;i++)//n不等于0时.....
{
x[i]=n%2;
n=n/2;
}
for(k=i-1;k!=(-1);k--)//k初始值为i-1,k的条件为不等于-1
printf("%d",x[k]);//输出x[k],而不是x[i]
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-09-13
#include<stdio.h>
main()
{
int i,n,k,x[10];
scanf("%d",&n);
for(i=0;n!=0;i++)// 判断条件 n!=0
{
x[i]=n%2;
n=n/2;
}
for(k=i-1;k!=(-1);k--)// 判断条件 k!=-1
printf("%d",x[k]);// 输出x[k],不是x[i]
}追问
main()
{
int i,n,k,x[10];
scanf("%d",&n);
for(i=0;n!=0;i++)// 判断条件 n!=0
{
x[i]=n%2;
n=n/2;
}
for(k=i-1;k!=(-1);k--)// 判断条件 k!=-1
printf("%d",x[k]);// 输出x[k],不是x[i]
}追问
你们都只注意到我for语句的错误,没注意到程序的可行性。。。。。。
今天早上吃早餐时,我已经发现了错误。。。把for结束的条件改正了
改成:
#include
main()
{
int n,i,k,a1[10],m;
scanf("%d",n);
for(i=0;n>=1;i++)
{
a1[i]=n%2;
n=n/2;
}
m=i;
for(k=0;k<=m;k++)
printf("%d",a1[k]);
}
可是又出现了xx指令引用XX内存,该内存不能written!
追加15分求解
scanf("%d",&n);
本回答被提问者和网友采纳第2个回答 2012-12-09
第一个for语句:(应该是n!=0).要仔细点哦
for(i=0;n!=0;i++)
{
x[i]=n%2;
n=n/2;
}
for(i=0;n!=0;i++)
{
x[i]=n%2;
n=n/2;
}
第3个回答 2020-11-26
C语言_010_二进制转十进制_上
第4个回答 2018-01-23
用while函数,将所得除10并记住除的次数后乘回