新一右卫门


私信TA

用户名:mdyuan

访问量:1017

签 名:

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

  自我简介:

解题思路:





注意事项:





参考代码:

#include <stdio.h>

#include <math.h>



//给一个不多于5位数的正整数,求出它是几位数,分别输出每一位数字,按逆序输出各位数字 

int main()

{

int num, indiv, ten, hundred, thousand, ten_thousand, place;

//printf("请输入一个整数(0~99999):");

scanf("%d", &num);

while (num>99999 || num<0)

scanf("%d", &num);

if (num>9999)     place = 5;

else if (num>999) place = 4;

else if (num>99)  place = 3;

else if (num>9)   place = 2;

else              place = 1;

//printf("这是一个%d位数.\n", place);

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

//printf("每位数字分别为:");

ten_thousand = num/10000;

thousand = (num-ten_thousand*10000)/1000;

hundred  = (num-ten_thousand*10000-thousand*1000)/100;

ten      = (num-ten_thousand*10000-thousand*1000-hundred*100)/10;

indiv    = num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;

switch (place)

{

case 5: printf("%d %d %d %d %d\n", ten_thousand, thousand, hundred, ten, indiv); 

       //printf("该%d位数的反序为:", place);

       printf("%d%d%d%d%d\n", indiv, ten, hundred, thousand, ten_thousand);break;

case 4: printf("%d %d %d %d\n",  thousand, hundred, ten, indiv);

       //printf("该%d位数的反序为:", place);

       printf("%d%d%d%d\n",  indiv, ten, hundred, thousand);break;

case 3: printf("%d %d %d\n", hundred, ten, indiv); 

       //printf("该%d位数的反序为:", place);

       printf("%d%d%d\n", indiv, ten, hundred); break;        

case 2: printf("%d %d\n", ten, indiv); 

       //printf("该%d位数的反序为:", place);

       printf("%d%d\n", indiv, ten); break;

case 1: printf("%d\n", indiv);

       //printf("该%d位数的反序为:", place);

       printf("%d\n", indiv); break;

}

return 0;

}


 

0.0分

0 人评分

  评论区