解题思路:
利用我们前面刚学到的表达式和选择结构,先分别得出各位数字 ,然后安要求输出。
注意事项:
这样写时代码效率不高, 但是没有BUG。
参考代码:
#include <stdio.h>
#include <conio.h>
int getdataN(int z,int zD)
{
switch(z)
{
case 5:{int d1,d2,d3,d4,d5,t;
d1=zD/10000; //万位数
t=zD%10000;//后4位
d2=t/1000;//千位数
t=t%1000;//后3位
d3=t/100;//百位数
t=t%100;//后2位
d4=t/10;//十位数
d5=t%10;//个位数
printf("%d %d %d %d %d\n",d1,d2,d3,d4,d5);
printf("%d%d%d%d%d\n",d5,d4,d3,d2,d1);break;
}
case 4:{int d1,d2,d3,d4,t;
d1=zD/1000;//千位数
t=zD%1000;//后3位
d2=t/100;//百位数
t=t%100;//后2位
d3=t/10;//十位数
d4=t%10;//个位数
printf("%d %d %d %d\n",d1,d2,d3,d4);
printf("%d%d%d%d\n",d4,d3,d2,d1);break;
}
case 3:{int d1,d2,d3,t;
d1=zD/100;
t=zD%100;
d2=t/10;
d3=t%10;
printf("%d %d %d\n",d1,d2,d3);
printf("%d%d%d\n",d3,d2,d1);break;
}
case 2:{int d1,d2,t;
d1=zD/10;
d2=zD%10;
printf("%d %d\n",d1,d2);
printf("%d%d\n",d2,d1);break;
}
case 1:{int d1;
d1=zD;
printf("%d\n",d1);
printf("%d",d1);break;
}
default:break;
}
return 0;
}
int main()
{
int a,t;
scanf("%d",&a);
if(a/10000>0){printf("5\n");t=5;}
else if(a/1000>0){printf("4\n");t=4;}
else if(a/100>0){printf("3\n");t=3;}
else if(a/10>0){printf("2\n");t=2;}
else {printf("1\n");t=1;}
getdataN(t,a);
return 0;
}
0.0分
1 人评分
C语言训练-求PI* (C语言代码)浏览:930 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:757 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:546 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码) 用函数传参的方法浏览:4120 |
【亲和数】 (C语言代码)浏览:908 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2097 |
DNA (C语言代码)浏览:440 |
A+B for Input-Output Practice (I) (C语言代码)浏览:451 |
班级人数 (C语言代码)浏览:980 |