解题思路:
解答该题可以运用strlen方法,这里介绍最简单最容易理解的方法,适合编程小白开发思维逻辑。
scanf("%d",&x);
y=x;
z=x;
这里先键盘输入x,并将x的值赋给y和z,后续要用到。
while(y!=0)
{
y=y/10;
i++;
}
printf("%d\n",i);
这一步是求x位数并输出(采用除10法)。
for(;i!=1;i--)
{
m=pow(10,i-1);
j=z/m;
printf("%d ",j);
z=z%m;
}
printf("%d\n",x%10);
运用到pow函数(使用时注意加上头文件#include<math.h>),依次将第一位、第二位...打印出来(这里是经典的取余和取商方法,要好好领会)。
for(;x!=0;)
{
a=x%10;
x=x/10;
printf("%d",a);
}
这里逻辑与上条相似,熟练运用取余和取商方法,可以灵巧的改变数字的形式。
注意事项:
注意第二行最后一位数字后无空格,编程时要单独考虑。
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
int x,y,z,i=0,j,m,a;
scanf("%d",&x);
y=x;
z=x;
while(y!=0)
{
y=y/10;
i++;
}
printf("%d\n",i);
for(;i!=1;i--)
{
m=pow(10,i-1);
j=z/m;
printf("%d ",j);
z=z%m;
}
printf("%d\n",x%10);
for(;x!=0;)
{
a=x%10;
x=x/10;
printf("%d",a);
}
printf("\n");
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复