仅用输入输出,循环(for或while语句),if 条件等语句能不能编出,求大神,VC 6.0环境下
你好!
完整的代码:
int main()
{
int num;
int n,z[30];
scanf("%d",&num);
for(n=0;n>=0;n++)
{
z[n]=num%2;
if(num/2==0) break;
num=num/2;
}
for(;n>=0;n--)
{
printf("%d",z[n]);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-11-10
#include<stdio.h>
int main()
{
int n,i;
printf("请输入一个十进制数:");
scanf("%d",&n);
int m[100];
for(i=0;n!=0;i++) //辗转相除,2进制数存入数组m[100]
{
m[i]=n%2;
n=(int)(n/2);
}
while(i-1>=0) //将m[100]中的2进制输出
{
printf("%d",m[i-1]);
i--;
}
return 0;
}
int main()
{
int n,i;
printf("请输入一个十进制数:");
scanf("%d",&n);
int m[100];
for(i=0;n!=0;i++) //辗转相除,2进制数存入数组m[100]
{
m[i]=n%2;
n=(int)(n/2);
}
while(i-1>=0) //将m[100]中的2进制输出
{
printf("%d",m[i-1]);
i--;
}
return 0;
}
第2个回答 2013-11-11
#include<stdio.h>
void main()
{ int i,s=0,n;
unsigned int x;
scanf("%d",&n);
for ( i=0,x=0x80000000;i<32;i++,x>>=1 )
if ( n&x ) { s=1; printf("1"); }
else if ( s ) printf("0"); //去掉前导0
printf("\n");
}追问
void main()
{ int i,s=0,n;
unsigned int x;
scanf("%d",&n);
for ( i=0,x=0x80000000;i<32;i++,x>>=1 )
if ( n&x ) { s=1; printf("1"); }
else if ( s ) printf("0"); //去掉前导0
printf("\n");
}追问
现在我C程序与设计都学完了。好吧,还是看不懂。x=0x80000000和下面那个if ( n&x ) { s=1; printf("1"); } else if ( s ) printf("0");完全看不懂
本回答被网友采纳第3个回答 2013-11-11
十进制转化二进制有自己的算法,楼主记住就好了。