Online Compiler 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("%.3lf\n",sum/5.000); return 0; }
这段代码的功能是:读取用户输入的5个浮点数,计算它们的平均值,并保留三位小数输出。

代码整体逻辑正确,但有一个潜在问题需要注意:

- 在 `scanf` 中使用了 `%lf` 来读取 `double` 类型,这是正确的。但需要确保用户输入时每个数字之间用空格或换行分隔,否则可能导致读取错误。

- 变量 `sum` 的初始化为0,累加过程正确,最后计算平均值并输出。输出格式 `%.3lf` 会保留三位小数,符合要求。

提示:
- 检查 `scanf` 的返回值,确保成功读取了5个数字。如果用户输入非数字,程序可能产生意外结果。
- 考虑如果用户输入的数字个数不足5个,程序会等待,但不会提示错误。可以添加输入验证。