我正在构建一个程序,该程序将要求用户输入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;
}
为了使用您的方法解决问题,在处理完数字后,您必须删除数字中最重要的部分。例如:
num5 = mnumber/10000;
mnumber -= num5*10000;
num4 = mnumber/1000;
mnumber -= num4*1000;
num3 = mnumber/100;
mnumber -= num3*100;
num2 = mnumber/10;
mnumber -= num2*10;
num1 = mnumber;
但是,我认为将其转换为字符串然后打印出该字符串的每个字符并加上星号会更干净,如@clcto所示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句