Online Compiler C

#include <stdio.h> int main() { int n; scanf("%d", &n); float sum = 0.0; for (int i = 1; i <= n; i += 0.1) { sum = sum + i * i; } printf("%.1f", sum); return 0; }
这段代码试图计算从1到n之间每隔0.1取一个数的平方和,但循环的写法有问题。

- 循环变量i是int类型,但步长0.1是浮点数,这会导致循环无法正常执行。i += 0.1时,i会先被转换为浮点数计算,再截断为整数,实际上步长变成0,造成死循环或意外行为。
- 题目可能要求的是整数平方和,或者需要浮点数步长。你需要先明确计算目标,再选择正确的变量类型和步长。