C++程序计算所有五位奇数的总和?

标签 c++ sum

我对以下简单代码有疑问,我不知道为什么输出会变成负数...该程序应该计算所有奇数和五位数的总和,例如 10001、10003、 10005等

#include <iostream>

using namespace std;

int main()
{
    int num, sum = 0;

    for (num = 10001 ; num <= 99999 ; num+=2){
        sum += num;
    }

    cout << num << " " << sum;
    return 0;
}

最佳答案

表示存在int类型的溢出。那就是这个类型不能代表总和。我建议像这样声明变量 sum

long long int sum = 0;

之后,您可以将结果与存储在 int 类型中的最大值进行比较。例如

#include <limits>

//...

std::cout << std::numeric_limits<int>::max() << " " << sum << std::endl;;

关于C++程序计算所有五位奇数的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29868705/

相关文章:

php - 将 MySQL 数据库值相加

Mysql 结果按 sum() 排序

mysql - 两个表中两列的总和

javascript 带条件的多维数组中的数组值求和

c++ - 类模板实例化错误

C++ 非类型模板参数 const char*

c++ - Qt:如何让它只发出 QCompleter::activated() 或 QLineEdit::returnPressed() 之一?

c++ - 核心延迟测试 ARMv8.1

c++ - 如何返回唯一指针的数组/vector ?

R apply 语句不适用于矩阵