Online Compiler C

//m² + (m+1)² + ... + n² #include <stdio.h> int main() { int m, n, sum; // sum保存每次循环经历数的平方 scanf("%d %d", &m, &n); for (int i = m; i <= n; i++) // i=每次循环经历的数// (n-m+1)次循环 { sum += i * i; printf("%d\n", sum); } return 0; }
这段代码试图计算从 m 到 n 的整数平方和,但存在几个问题。

- 变量 `sum` 没有初始化为 0,导致累加结果从垃圾值开始,最终结果错误。
- `printf` 放在循环内部,每次循环都会输出当前累加和,而不是只输出最终结果。根据题目要求,应该只在循环结束后输出一次总和。

- 检查 `sum` 的初始化位置,确保在开始累加前将其设为 0。
- 思考 `printf` 应该放在循环内还是循环外,才能只输出最终的和。