#include <iostream> #include<limits> using namespace std; int main() { int n; cin >> n; while (cin.fail()) { cout << "输入错误,请输入整数" << endl; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); } if (n < 1 || n > 1000) { cout << "输入的数字不在指定范围内!" << endl; return 1; } int sum = 0; for (int i = 1; i <= n; i++) { // 检查数字是否为偶数 if (i % 2 == 0) { sum += i; } } cout << sum << endl; return 0; }
问题1:return sum;
main函数的返回类型应该是int,直接返回sum可以,但是通常主函数的返回值表示这段程序是否正常结束。所以需要的输出一般使用变量存起来或者直接输出到终端。
问题2:++i 和 i++
++i
是前缀递增运算符,它首先将i
的值增加1,然后返回增加后的值。i++
是后缀递增运算符,它返回i
的当前值,并在表达式求值后将i
的值增加1。
++i
表达了“先增加,然后使用”的意图,这有助于代码的可读性。然而,在需要当前值然后再递增的场合,应该使用
i++
。