Online Compiler C

#include <stdio.h> int main() { float n; float cymma = 0; scanf("%f", &n); for(int i = 1; i < n*10; i++){ cymma+=i*i; } printf("%.1f", cymma/100); }
这段代码试图计算从1到某个数的平方和,但逻辑上有问题。它读取一个浮点数n,然后用循环从1到n*10(注意这里n是浮点数,但循环条件用整数比较),累加i的平方,最后除以100输出。

- 你的循环条件 `i < n*10` 中,n是浮点数,但i是整数,比较时n*10会被转换为浮点数。如果输入n=5,循环会执行到i=49,而不是你想要的1到5的平方和。你需要重新思考如何用循环正确表示从1到n的整数范围。
- 变量名 `cymma` 可能是想写“summa”,但这不是关键问题。注意你最后除以100,这似乎是为了调整数值,但平方和的计算结果本身不需要除以100。检查你的数学逻辑是否真的需要这个除法。