给定4位数字,如何在屏幕上打印单位,十几,十万这个数字?

时间:2015-02-27 19:47:56

标签: c

我是C的新人,我正在做一个练习,我应该打印单位,十几,十万。 (例如:1234 =>单位= 4;十二= 3;百= 2;千= 1。)

这就是我想出的:

int main ()
{ 
    int number , reminder , unit , dozen , hundred , thousand;  

    printf ("Type a number with a maximum of 4 digits : ");
    scanf ("%d" , &number);

    while (number)
    { reminder = number%10;
      number = number/10;
      printf ("Number : %d Reminder : %d\n", number , reminder); 
    }

    return 0;
}

输出如下

  

输入最多4位数的数字:1234

     

号码:123提醒:4

     

数量:12提醒:3

     

号码:1提醒:2

     

数字:0提醒:1

我使用了剩余部分,以便我可以分开数字。 我希望输出像这样

  

输入最多4位数的数字:1234

     

单位= 4

     

打= 3

     

百= 2

     

千= 1

有关如何解决此问题的任何建议已解决?

1 个答案:

答案 0 :(得分:-2)

只需进行一些调整就可以做到这一点。我使用字符串数组digname[]来描述每个数字值。我确保循环在number > 9999时通过使用power来结束,#include <stdio.h> #define MAXPOWER 4 int main () { char *digname[MAXPOWER] = {"Units", "Tens", "Hundreds", "Thousands"}; int number = 0, remainder, power = 0; printf ("Type a number with a maximum of 4 digits : "); scanf ("%d" , &number); while (number) { remainder = number % 10; printf ("%s: %d\n", digname[power], remainder); number = number / 10; if (++power >= MAXPOWER) break; } return 0; } 也会对字符串数组建立索引。

Type a number with a maximum of 4 digits : 12345
Units: 5
Tens: 4
Hundreds: 3
Thousands: 2

示例程序输入的数字超过4位数:

{{1}}