【发布时间】:2017-10-24 13:17:41
【问题描述】:
有谁知道为什么这会一直崩溃,当我添加平均值时它开始崩溃。如果有人知道请帮助我编码新手,这对我来说很复杂,谢谢
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int integers;
int average;
int sum = 0;
vector<int> numbers;
cout << "Please enter in integers and enter 0 to stop: ";
while (cin >> integers) {
if (integers == 0) {
sum = sum + integers;
break;
}
numbers.push_back(integers);
}
int y = numbers.size();
for (int i = 0; i < y; i++) {
cout << numbers[i] << " ";
average = (sum / integers);
cout << "The average is: " << average << endl;
return 0;
}
}
【问题讨论】:
-
计算
average的时候看sum和integers的值。 -
你为什么要循环计算平均值?您已经有了总和,并且知道向量的大小。平均值只是向量大小的总和。
-
请记住,代码第一次点击返回它会返回......
-
看起来
integers在第一个循环结束时为 0(除非您的输入失败)。此外,sum 看起来始终为 0,因为只有在integers为零时才向其添加integers。这意味着average = 0/0;。使用调试器解决这个问题要比在此处发布要快得多。