在线编译器 C

#include <stdio.h> int main() { int n; scanf("%d", &n); int sum = 0; if (n == 1) { printf("1.0"); } else { for (int i = 1; i < n; i++) { sum += i * i * i; } sum = sum; printf("%d", sum); } }
这段代码试图计算从1到n的立方和,但存在几个问题。

- 循环条件 `i < n` 会导致漏掉最后一个数 `n` 的立方,应该包含 `n` 本身。
- 当 `n == 1` 时,输出 `1.0` 是浮点数格式,而其他情况输出整数,格式不一致。
- 语句 `sum = sum;` 没有实际作用,可以删除。