小小怪


私信TA

用户名:1635468471

访问量:2633

签 名:

up~up~up

等  级
排  名 11053
经  验 993
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路: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;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区