【发布时间】:2014-06-09 15:55:57
【问题描述】:
我正在构建一个程序,要求用户输入一个 5 位正数。然后它将显示由星号分隔的每个数字。例如,如果用户输入51408,则输出将为5*1*4*0*8。
但是,我似乎无法理解找到(数字的)单独数字的逻辑。我该怎么做?
现在,这是我的代码:
#include <stdio.h>
int main()
{
int mnumber, num5, num4, num3, num2, num1;
printf("Input number:");
scanf ("%d", &mnumber);
//these are the ones that i have trouble with i can't seem to get the logic//
num5 = (mnumber/10000) / 1;
num4 = (mnumber/1000) / 1;
num3 = (mnumber/100) / 1;
num2 = (mnumber/10) / 1;
num1 = (mnumber/1) / 1;
printf("=%d", num5);
printf("*%d", num4);
printf("*%d", num3);
printf("*%d", num2);
printf("*%d", num1);
return 0;
}
【问题讨论】:
-
您可能想查看 C 的
%(模数)运算符。见cprogramming.com/tutorial/modulus.html。 -
如果用户输入 10、123、1200 或 1234567 会发生什么?
标签: c