大大哟nice


私信TA

用户名:2433712510

访问量:962

签 名:

等  级
排  名 14719
经  验 246
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

通过多个while语句进行数据的拆解



注意事项:
1.本程序是初级阶段代码,仅供理解;
2.思路不要局限于本程序,如正向输出一个整数的单个数字,也可使用递归函数(自行百度);
3.每个人都有不同的想法,没准你的想法也是对的哦!所以要努力解决自己的问题,不要放弃呐!


参考代码:

int num,i=0,tmp,tmp1,num1=0,tmp2=0;

    scanf("%d",&num); //获取整数

    tmp=num;     //保存输入的值

    while(num!=0){    //通过while循环检查数字个数

        num=num/10;        // 除运算将数据的最后一位移除,直至最后一位为0;

        i++;

    }

    printf("%d\n",i);

    num=tmp;        //将保存的值重新赋值给输入变量

    while(num!=0){

        tmp2=tmp2*10+num%10;    //实现对输入值得逆向重组。

        num=num/10;        //将数据的最后一位移除

    }

    num=tmp2;            //经过上面的while循环得到tmp2的只是逆向重组的值

    while(num!=0){            //将重组后的值逆向单个输出

        tmp1=num%10;

        num=num/10;

        printf("%d",tmp1);        //输出每次取余的结果

        if(num!=0)           //题目要求:最后一个数字后面没有空格

        printf(" ");


    }

    printf("\n");

    while(tmp!=0){

        num1=num1*10+tmp%10;        //同上,再写一遍,是因为要符合题目格式要求

        tmp=tmp/10;

    }

    printf("%d",num1);


 

0.0分

0 人评分

  评论区