解题思路:事项: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分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论