解题思路:

    解答该题可以运用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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论