Rss & SiteMap

课外天地 李树青 http://www.njcie.com

李树青 论坛 南京 财经 课外天地
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:课上练习代码——利用循环实现的数位显示

1楼
admin 发表于:2015/10/27 13:32:29


求位数,输出各个位,倒序输出各个位
int main()
{
    int number=0,numberBak=0,quotient=-1,divider=10000;
    int i,j,flag=1;
    printf("请输入一个不大于5位数的整数:");
    scanf("%d",&number);
    numberBak=number;
    for(i=0; i<5; i++)
    {
        quotient=number/divider;
        number=number%divider;
        divider=divider/10;
        if(flag && quotient>0)
        {

            j=5-i;
            printf("这是%d位数\n每个位数是:",j);
            flag=0;
        }
        if(flag==0)
            printf("%d ",quotient);

    }
    printf("\n倒序结果为:");
    for(i=0; i<j; i++)
    {
        printf("%d ",numberBak%10);
        numberBak=numberBak/10;
    }
    return 0;
}

 

进一步简化:
int main()
{
    int number=0,numberBak=0,quotient=-1,divider=10000;
    int i,j=0;
    printf("请输入一个不大于5位数的整数:");
    scanf("%d",&number);
    numberBak=number;
    for(i=0; i<5; i++)
    {
        quotient=number/divider;
        number=number%divider;
        divider=divider/10;
        if(j==0 && quotient>0)
        {

            j=5-i;
            printf("这是%d位数\n每个位数是:",j);
        }
        if(j>0)
            printf("%d ",quotient);
    }
    printf("\n倒序结果为:");
    for(i=0; i<j; i++)
    {
        printf("%d ",numberBak%10);
        numberBak=numberBak/10;
    }
    return 0;
}

 

[此贴子已经被作者于2015-11-05 20:48:24编辑过]
共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2016 课外天地.Net
Powered By Dvbbs Version 8.3.0
Processed in .01465 s, 2 queries.