我的程序应该执行一个计算,以获得startVal和endVal指定范围内每个数字的总和。我看过其他有些类似的问题,但我并没有从中汲取太多东西。有人可以告诉我在for循环中我做错了什么,所以我可以解决它吗?
#include <iostream>
using namespace std;
main() {
//Declare variables
int startVal;
int endVal;
int newVal;
int sum;
cout << "Enter starting value for loop (1 - 500): ";
cin >> startVal;
while (startVal<=1 || startVal>=500) {
cout << "Invalid starting value.\n";
}
while(startVal>=1 && startVal<=500) {
cout << "Enter ending value for loop (" << startVal+1 << " - 1000): ";
cin >> endVal;
if(endVal<startVal+1 || endVal>1000) {
cout << "Invalid ending value.\n";
}
}
for(startVal=newVal; newVal==endVal; ++newVal) {
sum = newVal+1;
}
cout << "The sum of the integers from " << startVal << " through " << endVal << " is " << sum << endl;
return 0;
}
答案 0 :(得分:2)
尝试将for
循环更改为此(如评论中所述):
sum = 0;
for( newVal=startVal; newVal<=endVal; ++newVal ) {
sum += newVal;
}
对于第二个while()
循环,添加一些break
条件。 E.g:
if( (endVal<startVal+1) || (endVal>1000) ) {
cout << "Invalid ending value.\n";
}else{
break;
}
答案 1 :(得分:0)
更具体地说,你的for循环有2个问题。循环声明的三个部分是: 1.变量声明:你的错误 2.条件:你的错了 3.增量:这很好。