Online Compiler C

#include <stdio.h> int main() { long long c,average=0,sum=0,i=0; while (1){ scanf("%lld",&c); sum=sum+c; i++; } average=sum/i; printf("%lld",average); return 0; }
这段代码试图计算输入数字的平均值,但存在几个问题。

代码会无限循环读取数字,没有设置退出条件,因此程序永远不会停止。另外,变量 `average` 和 `sum` 的类型是 `long long`,但平均值通常需要浮点数才能保留小数部分。

- 你需要添加一个循环终止条件,比如当输入某个特定值(如0或负数)时跳出循环。
- 计算平均值时,`sum / i` 是整数除法,会丢失小数部分。考虑使用浮点数类型(如 `double`)来存储平均值。