在C ++中添加整数输出?

时间:2012-07-25 20:55:19

标签: c++

我正在研究Project Euler,第一个问题,我已经得到了这个程序来输出我需要的数字,但我无法弄清楚如何获取输出的数字并将它们加在一起。

以下是代码:

#include <iostream>
#include <cmath>

int main(void) {

    int test = 0;

    while (test<1000) {
        test++;
            if (test%3 == 0 && test%5 == 0) {

                std::cout << test << std::endl;

            }
    }

    std::cin.get();

    return 0;
}

2 个答案:

答案 0 :(得分:1)

最简单的选项是total变量,您可以将其作为条件匹配添加到该变量中。

第一步是创建它并将其初始化为0,这样你最终会得到正确的数字。

int total = 0;

之后,将小计添加到其中,以便累积总计。

total += 5;
...
total += 2;
//the two subtotals result in total being 7; no intermediate printing needed

添加小计后,您只需将其打印为总计。

std::cout << total;

现在,这里是它如何适应手头的代码,以及其他一些指针:

#include <iostream>
#include <cmath> //<-- you're not using anything in here, so get rid of it

int main() {
    int test = 0;
    int total = 0; //step 1; don't forget to initialize it to 0

    while (test<1000) { //consider a for loop instead
        test++;

        if (test % 3 == 0 && test % 5 == 0) {
            //std::cout << test << std::endl;
            total += test; //step 2; replace above with this to add subtotals
        }
    }

    std::cout << total << std::endl; //step 3; now we just output the grand total

    std::cin.get();    
    return 0; //this is implicit in c++ if not provided
}

答案 1 :(得分:1)

执行此操作的典型方法是使用另一个变量来保存总和。您逐渐将每个数字添加到此变量,直到您在循环结束时必须总计。