解题思路:
确定几位数,提取各位数字,完成顺序输出和逆序输出(常规思路:整数数组、三个循环)
注意事项:

参考代码:

代码一:

#include 

int main()

{

    int n,t,num=1; //n是数据,num是位数

    int a[5];//存放各位数据

    scanf("%d",&n);    

    t=n;

    //位数

    while(n/10)

    {   

        num++;

        n=n/10;

    }

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

    //每位数字提取到数组

    n=t;

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

    {

        a[t]=n%10;

        n=n/10;

    }

    //正向输出

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

   {   

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

        if(t!=0) printf(" ");

    }

    //换行

    printf("\n");

     //逆向输出 

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

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

    return 0;

}

代码二:

#include

int main()

{

    int num=1,n,i,a[5];//n是数据,num是位数

    scanf("%d",&n);

    

    for(i=0;i<5;i++) //n不多于5位的整数

    {

        if(n/10==0) {a[i]=n;break;}  //当只剩一位数的时候停止循环

        else{

            num++;

            a[i]=n%10;//从低位开始,提取各位数据到数组中

            n=n/10;

        }

    }

    

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

    

   

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

    {   

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

        if(i!=0) printf(" ");

    }

    printf("\n");

    

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

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

    

return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »