如何将4位数字转换为单个数字?

时间:2015-02-01 04:33:02

标签: basic

我需要编写逻辑来将4位数字分解为单个数字。

在SO的回复中有关3位数的问题,有人给出了下面的数学:

int first = 321/100;             
int second = (321/10)-first*10;
int third = (321/1)-first*100-second*10;

有人可以帮助我吗?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

好吧,使用您找到的样本,我们可以很容易地为您推断出代码。

第一行显示int first = 321/100;,返回3(整数除法是欧几里德除法)。 3确实是321中的第一个整数,所以这是一件好事。但是,我们有一个4位数字,让我们尝试用1000替换100:

int first = 4321/1000;

这确实会返回4!

让我们尝试调整其余的代码(加上我将四位数字放在变量entry中)。

int entry = 4321;
int first = entry/1000;
int second = entry/100 - first*10;
int third = entry/10 - first*100 - second*10;
int fourth = entry - first*1000 - second*100 - third*10;

secondentry/100(43)减去first*10(40),所以我们没问题。 third然后432 - 400 - 30变为2.这也适用于fourth

对于超过四位的数字,你可能想要使用for循环,也许可以使用一些模数。

答案 1 :(得分:0)

此代码片段计算从用户输入的位数 然后一个一个地分解数字:

PRINT "Enter value";
INPUT V#
X# = V#
DO
    IF V# < 1 THEN
        EXIT DO
    END IF
    D = D + 1
    V# = INT(V#) / 10
LOOP
PRINT "Digits:"; D
FOR L = D - 1 TO 0 STEP -1
    M = INT(X# / 10 ^ L)
    PRINT M;
    X# = X# - M * 10 ^ L
NEXT
END