Online Compiler C

#include <stdio.h> int main() { int n; long long sum=0, cube, mul; scanf("%d", &n); while (n > 0) { mul = n * n; cube = n * n * n; n = n - 1; sum = sum + mul + cube; } printf("%d", sum); return 0; }
这段代码的功能是:读入一个整数 n,然后计算从 n 到 1 每个数的平方与立方之和,并输出结果。但输出结果可能不正确,因为 sum 是 long long 类型,而 printf 使用了 %d 格式符。

- 注意 printf 中的格式符 %d 用于 int 类型,而 sum 是 long long 类型,这会导致输出错误。应该使用 %lld 来匹配 long long 类型。
- 另外,代码中 mul 和 cube 变量只在循环内使用,可以思考是否真的需要这两个变量,或者能否简化计算。