我真的是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
关于如何解决此问题的任何建议?
最佳答案
只需进行一些调整,您就可以做到这一点。我已经使用字符串数组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;
}
示例程序输入了4位以上的数字:
Type a number with a maximum of 4 digits : 12345
Units: 5
Tens: 4
Hundreds: 3
Thousands: 2
关于c - 给定4位数字,如何在屏幕上打印该数字的单位,十,十万个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28773108/