c++ - 计算值的总和

标签 c++ arrays

我目前正在制作一个程序,让用户输入一个数字,该数字等于数组将包含的元素数,当用户输入一个数字时,它会保存到数组中。然后我有一个函数,它将获取数组中元素的总和并将其保存到一个 int 中。我的问题是,当它保存到 int 并且我再次按下相同的功能时,它会使数字加倍。 例如,如果数组的总和为 5,我按菜单中的功能,它会显示 5,当我再次按总和时,它会显示 10。如何使其不加倍? 我的 int sum 是全局的,因为更多函数需要访问它。

int* talSerie = new int[num]; (global)
int num; (global)

void sumOfUserInput() {
    int summa = 0;
    int sum = 0;
    for (int a = 0; a < 1; a++)
    {
        sum += talSerie[a];
        summa = sum;
    }
    Menu();
}

我知道它与+=有关,但我不知道如何重新格式化它,有没有更好的方法?

最佳答案

int num = 1000; // change this value accordingly
int* talSerie = new int[num];

void sumOfUserInput() {
    int sum = 0;
    for (int a = 0; a < num; a++)
    {
        sum += talSerie[a];
    }
    Menu();
}

如果您仍然遇到错误,请确保 talSerie 正常,也就是说,我的意思是,确保 talSerie 填充了正确的值来调试它。

您的 num 必须在您的 talSerie 之前初始化,因为它用于数组大小。

关于c++ - 计算值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35178376/

相关文章:

c++ - 如何在 C++ 中实现自然排序算法?

c++ - 使用 std::remove_if 跟踪删除的元素

c++ - 在运行时停止 Wt C++ 函数

python - 从循环中的数组中删除对象

c++ - cvCaptureFromFile-从特定路径打开视频-Raspberry Pi

c++ - ADL 是否适用于全局 namespace ?

iphone - NSMutableArray 在循环中的每次传递都会被覆盖

javascript - 向后循环直到找到某个字符(javascript)

c# - 在跟踪索引 C# 的同时快速排序数据数组

ios - Swift 上数组的 GroupBy 扩展用法