作业:113页第9题

给出一个不多于五位的正整数,求:(1)求出它是几位数。(2)分别输出每一位数字。(3)按逆序输出各位数字。(用循环语句完成。)
#include <stdio.h>

int main(void)
{
    int number[2],temp_result,digit,dividend=1;
    scanf("%d",&number[0]);
    for(int i=10000,di=5; i>=1 ; i/=10,di--)
    {
        temp_result = (int)(number[0]/i);
        if(temp_result>=1)//verdict digits of number
        {
            printf("%d\n",di);//output digits of number
            //calculate dividend
            for(int i=di;i>1;i--)
                dividend*=10;
            //output by order
            number[1]=number[0];
            for(int i=di;i>0;i--)
            {
                printf("%d ",number[1]/dividend);
                number[1]%=dividend;
                dividend/=10;
            }
            putchar('\n');
            //output by reversed order
            number[2]=number[0];
            for(int i=di;i>0;i--)
            {
                printf("%d ",number[2]%10);
                number[2]/=10;
            }
            break;
        }
    }
    //system("pause");
    return 0;
}

评论

此博客中的热门博文

开通此博客的缘由

链表的应用