該程序旨在將所有數字從1加到我輸入的數字上。如果我只輸入一個數字,答案將是正確的,但如果我不停止並重新打開我的程序,我輸入的第二個數字的答案也將添加第一個數字的結果。我錯過了什麼?請幫忙。讓計算機在打印後清除答案
#include<iostream>
using namespace std;
int main()
{
int inNum;
int loopCount = 1;
int count;
int sum = 0;
cout << "Enter a number greater than 0 (less than 1 to quit): " << endl;
cin >> inNum;
while (inNum >= loopCount) {
for (count=0 ; count <= inNum ; count++){
sum = sum + count * count;
}
cout << "The sum of the squares from 1 to " << inNum << " is " << sum << endl;
cout << "Enter a number greater than 0 (less than 1 to quit): " << endl;
cin >> inNum;
}
}
把'sum = 0;'放在你的最後'cin'後 – 2014-10-07 18:14:40
非常感謝!!!!解決方案非常明顯,我仍然無法弄清楚!真的很感謝你的幫助! – 2014-10-07 18:17:41
實際上,如果你不在while循環外面使用'sum',我會把'int sum = 0'移到while循環的開頭。換句話說,儘可能地聲明變量以便首次使用。 – crashmstr 2014-10-07 18:20:18