Online Compiler C

#include <stdio.h> int main() { long long int a,b,sum=0; scanf("%lld%lld",&a,&b); if(a>b){ long long int temp; temp=a; a=b; b=temp; } for(long long int i=a;i<=b;i++){ sum+=a*a+b*b; } printf("%lld",sum); return 0; }
这段代码的目的是计算从 a 到 b 之间所有整数的平方和,但实现有误。

代码先交换 a 和 b 确保 a <= b,然后循环从 a 到 b,但每次循环累加的是 a*a + b*b,而不是当前循环变量 i 的平方。这导致结果错误,且循环次数越多,错误越大。

- 检查循环体内累加的内容:应该使用循环变量 i 的平方,而不是固定的 a 和 b 的平方。
- 注意变量 sum 的初始化和累加逻辑是否正确反映了题目要求。