解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int x;
int cnt=1;/*记录位数 */
int mark=1; //用在正序输出的循环中
int digit=0,digit2=0; /*记录分解的每一位数*/
scanf("%d",&x);
int temp=x,tmp=x; //temp和tmp分别用在统计位数和正序输出,保证读入的x不被消耗
while(temp>9) //该循环统计位数
{
temp/=10;
cnt++;
mark*=10;
}
printf("%d\n",cnt); //打印位数
while(mark>0) //正序输出
{
digit=tmp/mark;
printf("%d",digit);
if(mark>9) //改行保证最后不输出空格
{printf(" ");}
tmp%=mark;
mark/=10;
}
printf("\n"); //打印回车,满足题意
if(x==0)
printf("%d",x);
while(x>0) //该循环用来逆序输出
{
digit2=x%10;
printf("%d",digit2);
x/=10;
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复