解题思路:1.先将各位数字分解开,利用循环语句得到数字位数。
         2.再实现“用空格分开每个数字 ”,“将数字倒序输出 ”。


注意事项:

        1.在利用循环语句分解各位数字时,每取余一次就要对数据进行一次“除以10”,例如123先对10取余得到了个位数字“3”,则如要取得十位数字2必须先用123除以10,得12,再用12对10取余得到十位数字2.

        2.在利用循环语句分解各位数字时,num++是在循环体中,最后是从循环体中的break出跳出循环的,因此num会比i多1,在后面对i赋值时就要是i=num-1.

参考代码

 #include<stdio.h>

 int main()

{

    int x,i,num=0;        //x是数字,i是控制变量,num是数字位数 

    int a[5];             //数组用来放各位数字 

    scanf("%d",&x);

    

//分解得到各位数字,并累加得出数字的位数 

    for(i=0;;i++)

    {

    a[i]=x%10;

    x=x/10;

    //利用循环对10取余分解得到各位数字,并放在数组中 

    num++; //累加得出数字位数            

    if(x==0) break;    

    }

    printf("%d\n",num);


//输出“用空格分开每个数字” 

    for(i=num-1; i>=0; i--)

   {

     printf("%-2d",a[i]);

    }

    printf("\n");


//将数字倒序输出 

   for( i=0; i<num; i++)

   {

    printf("%d",a[i]);

    }

    return 0;

}


点赞(2)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论