课外天地 李树青学习天地C语言程序设计 → 课上练习代码——利用循环实现的数位显示


  共有10536人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
课上练习代码——利用循环实现的数位显示  发帖心情 Post By: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编辑过]

 回到顶部