【发布时间】:2015-10-15 16:53:03
【问题描述】:
好的,所以我输入了一个 9 位数字 (123456789),我需要将其分解为第一个中间和最后三个数字 (123,456,789)。
我知道我可以使用模来得到最后三位。
first_group_of_three = input number % 1000;
但我不知道如何获得其他两组。 任何帮助将不胜感激。
更新! 感谢 milevyo 的回答,我设法弄明白了。现在,对于那里的代码怪胎,我是一个初学者程序员,我想问什么是编写此代码的更有效方法(如下),也许使用更少的变量或一些其他技术。我没有将其转换为 char,因为我们不被允许这样做,因为我们仍然“还没有学会它”
scanf("%d" , &input_number);
last_group_of_three = input_number % 1000;
temp = (input_number-last_group_of_three)/1000;
middle_group_of_three = temp % 1000;
first_group_of_three = (temp-middle_group_of_three)/1000;
【问题讨论】:
-
到现在为止你尝试了什么?
-
除以 1000 并使用模数。
-
嗯...分开。这是一道四年级的数学题,不是编程题。
-
我知道这是一个数学问题,这就是我标记数学的原因,我什至在基础数学方面都非常糟糕,因为我在学校学习时错过了它,所以如果这让某人感到厌烦,我深表歉意
-
@LuanL 这是一个问答网站。与其更改问题,不如接受一个答案(您甚至可以发布您自己的答案),如果找到一个可接受的答案,然后然后发布您的新问题,并附上指向该问题的链接(并强调需要新帖子)。