溺水一瓢


私信TA

用户名:LLK666

访问量:292

签 名:

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

  自我简介:

解题思路: 1:判断位数!

      2:输出(正序:要求空格/逆序)

注意事项:    @@@怎样实现对位数的提取@@@我用了一个while(n/*是输入值,*/){

                                                                                                   n /= 10;

                                                                                                   s++;/*上面除一次,n的值就缩小10倍,直到为个位数后s的值就能表示输入值的位数为!*/

                                                                                                   }  

                  @@@  后面输出就是按最笨的方法弄滴@@@

参考代码:

#include <stdio.h>

#include <math.h>

int main()

{

int s=0,j,n,a,b,c,d,e;

    scanf("%d",&j);

    n=j;                                     //把j赋值给n,以保留aj                                         

    while(n){                             //当n=0时,跳出循环

        n/=10;                             

        s++;                               //输入值得位数

    }                                         

                                              //这后面这一段来个哥们帮忙优化一下

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

if(j>=10000){

a=j/10000;

b=(j-a*10000)/1000;

c=(j-a*10000-b*1000)/100;

d=(j-a*10000-b*1000-c*100)/10;

e=j-a*10000-b*1000-c*100-d*10;

printf("%d %d %d %d %d\n",a,b,c,d,e);

printf("%d%d%d%d%d",e,d,c,b,a);

}

else if(j>=1000){

b=(j-a*10000)/1000;

c=(j-a*10000-b*1000)/100;

d=(j-a*10000-b*1000-c*100)/10;

e=j-a*10000-b*1000-c*100-d*10;

printf("%d %d %d %d %d\n",b,c,d,e);

printf("%d%d%d%d",e,d,c,b);

}

else if(j>=100){

c=(j-a*10000-b*1000)/100;

d=(j-a*10000-b*1000-c*100)/10;

e=j-a*10000-b*1000-c*100-d*10;

printf("%d %d %d %d %d\n",c,d,e);

printf("%d%d%d",e,d,c);

}

else if(j>=10){

d=(j-a*10000-b*1000-c*100)/10;

e=j-a*10000-b*1000-c*100-d*10;

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

printf("%d%d",e,d);

}

else{

e=j-a*10000-b*1000-c*100-d*10;

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

printf("%d%d",e);

}

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区