原题链接:[编程入门]数字的处理与判断
解题思路以及注意事项:
每一个程序员都有自己独特的写法,针对同一问题的解法也是仁者见仁,智者见智,这道题就深刻地阐释了这个真理。
好,下面大家看看小方的代码,小方会在代码之中给大家讲解小方的解题思路!
实例代码:
#include"stdio.h"
int main()
{
    int x,i,item=10000,number,size;//x用来存用户输入的数,i为控制循环常用的数,item为计算位数的数
    scanf("%d",&x);                //number为替代x的数,以保证x的完整,size为存位数的数,以便后面用
    for(i=5;i>0;i--,item/=10)
    {
        if(x/item)                 // 循环判断位数
        {
            printf("%d\n",i);
            size=i;
            break;
        }
    }
    for(i=0,item=1;i<size;i++)
    {
        item*=10;                   //得出像10000 1000 100 10这样的数,用到下面的循环中去
    }
    for(i=5,number=x;i>0 && number!=0;i--,item/=10)
    {
        if(number/item==0)continue; //保证小于五位的数分开输出前面不会有0
        if(i==1)
            printf("%d",number/item);//最后一位后面没有0
        else
            printf("%d ",number/item);//输出
        number%=item;
    }
    printf("\n");
    for(i=5,number=x;i>0&&number!=0;i--)//逆序输出,相比前面的简单很多,相信大家看的懂
    {
        printf("%d",number%10);
        number/=10;
    }
    return 0;
}还有不懂的请在评论区留言,小方会为您解答
0.0分
30 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
include<stdio.h> int main() { int b,i,a; i=1; scanf("%d",&b); a=b; while(a>10) { a=a/10; i++; } printf("%d",i); return 0; } 我是求位数,为什么编译错误?求指点#include<stdio.h> int main() { int chr[6]={0}; int num,num_1,x = 0; scanf("%d",&num); num_1=num; //判断几位数 while (num_1) { num_1 = num_1 / 10; x++; } printf("%d\n",x); //取值 for(int i=0;i<=5;i++) { chr[i]=num%10; num=num/10; } //正序输出 最后以为没有空格 for(int s =x-1; s>0;s--) { printf("%d ",chr[s]); } printf("%d\n",chr[0]); //逆序输出 for(int j =0; j<x;j++) { printf("%d",chr[j]); } return 0; } 欢迎交流#include<stdio.h> int main() { int n, x=0, a, b, c, d, e; scanf("%d",&n); a=n/10000; b=((n%10000)/1000); c=(((n%10000)%1000)/100); d=((((n%10000)%1000)%100)/10); e=((((n%10000)%1000)%100)%10); for(x=0;n>0;x++) { n=n/10; } printf("%d\n",x); printf("%d %d %d %d %d\n",a,b,c,d,e); printf("%d%d%d%d%d",e,d,c,b,a); return 0; } 评论一下我这个怎么样