王文萱


私信TA

用户名:dotcpp0633175

访问量:3587

签 名:

好的,谢谢

等  级
排  名 262
经  验 5875
参赛次数 0
文章发表 42
年  龄 20
在职情况 学生
学  校 广西科技师范学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

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 人评分

  评论区

  • «
  • »