Online Compiler C

#include <stdio.h> int main() { int a[5]; int sum=0; float c; for(int d=0;d<5;d++){scanf("%d",&a[d]); sum+=a[d];} c=sum/5; printf("%.3\n",c); return 0; }
这段代码的功能是:读取5个整数,计算它们的平均值,然后输出平均值(保留三位小数)。

代码中存在一个关键问题:整数除法导致平均值计算错误。

- 在计算平均值时,`sum/5` 是整数除法,结果会被截断为整数,然后才赋值给浮点数变量 `c`。例如,如果 sum=12,c 会得到 2.000,而不是正确的 2.400。
- 另外,`printf` 中的格式 `%.3` 缺少转换说明符,应该是 `%.3f` 才能正确输出浮点数。