#include <iostream>
using namespace std;
int main() {
int numInput;
int numInts;
numInts = 0;
cin >> numInput;
while (numInput >= 0) {
cout << numInts << endl;
numInts = numInts + numInput;
}
cout << numInts << endl;
return 0;
}
问题是目前 while 循环内的条件不依赖于您在循环内执行的任何操作。
要解决此问题,您可以移动cin >> numInput进入条件如下图所示:
int main() {
int numInput;
int sum = 0;
//take input and check it
while (cin >> numInput && numInput >= 0) {
sum += numInput;
std::cout <<"current sum is: "<<sum <<std::endl;
}
cout << sum << endl;
return 0;
}