我目前正在制作一个程序,让用户输入一个数字,该数字等于数组将包含的元素数,当用户输入一个数字时,它会保存到数组中。然后我有一个函数,它将获取数组中元素的总和并将其保存到一个 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/