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("%d",&arr[i]); sum=sum+arr[i]; } printf("%.3f\n",sum/5.000); return 0; }
这段代码的目的是让用户输入5个数字,然后计算并输出它们的平均值,保留三位小数。代码整体结构正确,但有一个关键问题。

- 在 `scanf` 中,你使用了 `%d` 来读取 `double` 类型的数组元素。`%d` 用于读取整数,而 `double` 类型应该使用 `%lf`。这会导致输入的数字被错误地解释,可能得到错误的结果。

- 另外,`printf` 中输出平均值时使用了 `%.3f`,这是正确的,因为 `sum/5.000` 的结果是 `double` 类型。