#include<stdio.h>
int main()
{
int n,a,b;
printf("请输入一个十进制的整数\n");
scanf("%d",&n);
a=a%2;
b=n/2;
while(a>=1);
{
a=b%2;
b=b/2;
printf("%d",a);
}
return 0;
}
不知道该怎么修改以及把输出的数字倒过来,求助
#include <stdio.h>
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
return y;
}
void main()
{
//进制转换函数的声明
int transfer(int x);
int x;
printf("请输入一个十进制数:");
scanf("%d",&x);
printf("转换成二进制数是:%d\n",transfer(x));
}
扩展资料:
c语言书写规则:
1.一个说明或一个语句占一行。
2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
将输出的内容先放置到一个数组中,最后数组反序输出
追问问题是我这个程序本身就存在问题
还有其他方法吗?我们并没有学过pow啊,看得不咋地懂
追答pow是乘方,第一个参数是底数,第二个参数是指数。math包里面的 这就是一个数学问题,比如我想把123反转,我就把个位的数字乘以10的2次方+十位的数字乘以10的1次方+百位的数字乘以10的0次方,不就得到了321。如果你学过了数组你可以把结果保存在数组然后逆序,这样也可以。
本回答被提问者采纳