解题思路:事项:1、循环数个数
2、采用高到低位
3、重新提取数字,然后逆序输出就行了
参考代码:
#include <stdio.h>
int main() {
int n,a=0;
scanf("%d",&n);
int b=n;//、待会用while,保留原始值
// 求整数的位数
do {
a++;
n/=10;
} while(n>0);
printf("%d\n",a);
//n=0
int x=b; //初始化x,记录数组下标的变量
int k[5];
int f=0;
int m=0;
while (x>0) { //把数字存入数组k
k[f++]=x%10;
x/=10;//去掉已输出的个位
}
for (int g=f-1;g>=0;g--) { // 从高位到低位,
printf("%d ",k[g]);
}
printf("\n");
for (int h=0;h<f;h++) {// 从低位到高位,
printf("%d",k[h]);
}
printf("\n");
return 0;
}
这个、、、、少走两步、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
#include<stdio.h>
int main() {
int n,a=0;
scanf("%d",&n);
int b=n;
do{
a++;
n/=10;
} while(n>0);
printf("%d\n",a);
printf("");
int r=0;
int m=b; //
int d=0;
int s[20];
while(m>0) {
s[d++]=m%10;//提取m的个位数
m/=10; //去掉已经提取的个位数
}
for (int i=d-1;i>=0;i--) { //逆序输出
printf("%d ",s[i]);
}
printf("\n");
int t=b;
while(t>0) {
printf("%d",t%10);//提取m的个位数
t/=10; //去掉已经提取的个位数
}
printf("\n");
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复