#include <stdio.h>
int main() {
int a,b;
if (scanf("%d %d", &a,&b) == 2) {
int sum=0;
for (int i = a; i <= b; i++) {
sum+=i*i;
printf("%d\n",sum);
}
}
return 0;
}
这段代码的功能是:读入两个整数 a 和 b,然后计算从 a 到 b 之间每个整数的平方,并累加到 sum 中,每次累加后都输出当前的累加和。
代码中有一个逻辑问题:每次循环都输出一次 sum,这会导致输出多个结果,而不是最终的总和。
- 检查一下题目要求是输出每次的中间结果,还是只输出最终的累加和。如果是只输出最终结果,应该把 printf 移到循环外面。
- 注意变量 sum 的初始化和累加逻辑是正确的,但输出位置决定了程序的行为。