Online Compiler C

#include <stdio.h> int main() { int a[5]; float ave=0; int sum=0; for(int i=0;i<5;i++){ scanf("%d",&a[i]); } for(int i=0;i<5;i++){ sum+=a[i]; } ave=sum/5; printf("%lf",ave); return 0; }
这段代码的功能是:输入5个整数,计算它们的平均值,然后输出。代码整体逻辑正确,但有一个常见的细节问题。

- 在计算平均值时,`sum/5` 是整数除法,结果会被截断为整数,然后赋值给 `ave`。例如,如果 sum=12,ave 会得到 2.0 而不是 2.4。你需要考虑如何让除法得到浮点数结果。

- 另外,`printf` 中使用 `%lf` 输出 `double` 类型变量,这是正确的,但注意 `ave` 是 `float` 类型,虽然可以自动转换,但建议保持类型一致。