Онлайн компилятор C

#include<stdio.h> int main() { double arr[5]; double sum=0; printf("input 5 numbers\n"); for(int i=0;i<5;i++){ scanf("%lf",&arr[i]); sum=sum+arr[i]; } printf("%.3f\n",sum/5.000); return 0; }
这段代码的功能是:从键盘输入5个浮点数,计算它们的平均值,并保留三位小数输出。

代码整体逻辑正确,但有一个细节需要注意:

- 在 `printf` 中,你使用了 `%.3f` 来输出 `sum/5.000` 的结果。`sum` 是 `double` 类型,`5.000` 也是 `double` 类型,除法结果也是 `double`。但 `%.3f` 是用于 `float` 类型的格式说明符,对于 `double` 类型,应该使用 `%.3lf` 或 `%.3f`(在C99标准中,`printf` 的 `%f` 和 `%lf` 效果相同,但为了清晰和可移植性,建议使用 `%lf` 对应 `double`)。

- 另外,`5.000` 可以简写为 `5.0`,但这不是错误。