解题思路:本题目利用if()语句
注意事项:注意a的取值范围书写,例如a>0&&a<=9,不要写成0<a<=9;
参考代码:
#include <stdio.h>
main()
{
int a,d,c,w,q,b,s,g;/*定义整型变量a,d,c,w,q,b,s,g,且w代表万位置上的数字,q代表千位置上的数字,其次是b为百,s为十,g为个,都是拼音头字母*/
scanf("%d",&a);/*定义a为输入数*/
if(a>0&&a<=9)/*当a为个位数*/
{
d=1;/*d为要输出当前输入的数字为1位数*/
c=a;/*c为当前要逆序输出的数字*/
}
else if(a>=10&&a<=99)/*当a为两位数*/
{
d=2;
s=a/10;/*求十位上的数字*/
g=a%10;/*求个位上的数字*/
c=g*10+s;/*当前要逆序输出的字*/
}
else if(a>=100&&a<=999)/*当a为三位数*/
{
d=3;
b=a/100;/*求百位上的数字*/
s=(a-b*100)/10;/*求十位上的数字*/
g=(a-b*100)%10;/*求个位上的数字*/
c=g*100+s*10+b;
}
else if(a>=1000&&a<=9999)/*当a为四位数*/
{
d=4;
q=a/1000;/*求千位上的数字*/
b=(a-q*1000)/100;
s=(a-q*1000-b*100)/10;
g=(a-q*1000-b*100)%10;
c=g*1000+s*100+b*10+q;
}
else if(a>=10000&&a<=99999)/*当a为五位数*/
{
d=5;
w=a/10000;/*求万位上的数字*/
q=(a-w*10000)/1000;
b=(a-w*10000-q*1000)/100;
s=(a-w*10000-q*1000-b*100)/10;
g=(a-w*10000-q*1000-b*100)%10;
c=g*10000+s*1000+b*100+q*10+w;
}
printf("%d\n",d);
printf("%d %d %d %d %d\n",w,q,b,s,g);/*屏幕输出当前数字上每个位置上的数字*/
printf("%d\n",c);
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复