解题思路:
利用我们前面刚学到的表达式和选择结构,先分别得出各位数字 ,然后安要求输出。
注意事项:
这样写时代码效率不高, 但是没有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分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复