解题思路:
注意事项:
参考代码:
int main()
{
int x;//荧幕上的led数字
int i;
int an=1;
int a[200];//存放序列值
while(scanf("%d",&x)!=EOF)//输入数字
{
printf("%d=",x);//输入x
while(x)//进入循环
{
if((x%2)!=0)//用除余法
{
a[i]=an;//不等于0,就开始计数作为下标
i++;
}
x=x/2;//每次都除以2
an=an*2;//从低位到高位每次都乘以2
};
while(i!=0)
{
printf("%d",a[i-1]);//i-1是因为i此时=3;
if((i-2)!=-1)//这个是为了吞掉最后一个加号,因为最后一个数字都是1
printf("+");
i--;
}
putchar('\n');
an=1;//返回原本的值
i=0;
}
}
0.0分
0 人评分
点我有惊喜!你懂得!浏览:2754 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:773 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:711 |
printf基础练习2 (C语言代码)浏览:321 |
printf基础练习2 (C语言代码)浏览:955 |
printf基础练习2 (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:683 |
用筛法求之N内的素数。 (C++代码)浏览:754 |
DNA (C语言描述,蓝桥杯)浏览:1653 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:821 |