添加两个4位数字的结转总和

时间:2016-09-05 18:56:27

标签: c math

如何在添加两个4位数字时获得结转总和?

一个例子是:

残疾111 前4位数9999 第4位数7777        答案17776

这里我想计算进位的总和(求和的答案= 3),我该怎么办?

1 个答案:

答案 0 :(得分:0)

这是一项相当简单的任务。你可能不知道你是新手,但是SO不是编码平台,所以除非你先向我们展示你的代码,否则你不会得到答案。

但是,既然我想尝试自己的算法,这里有一个简单的答案。我警告你,它不适用于所有的例子(我不会告诉你什么时候这段代码不起作用)而且我不是故意评论代码。我在这里闻到了这个任务,所以代码只是给你一些指导,而不是做你的作业。

注意:这只是一个骨架,如果您按原样复制粘贴,就不会获得好成绩。

int main(int argc, char** argv)
{
    int numberA = 9999;
    int numberB = 7777;

    int sum_of_carryovers = 0;

    while (numberA > 9 && numberB > 9)
    {
        int digitA = numberA % 10;
        int digitB = numberB % 10;

        int sum = digitA + digitB;

        if (sum > 9)
        {
            sum_of_carryovers += 1;
        }

        numberA /= 10;
        numberB /= 10;
    }

    printf("The sum of carryovers = %d\n", sum_of_carryovers);
}