在线编译器 C

#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 的初始化和累加逻辑是正确的,但输出位置决定了程序的行为。