在线编译器 C

#include <stdio.h> int main() { int a[12]; int sum = 0; float avg; for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); sum+=a[i]; } avg=(float)sum /12; printf("%.2f", sum); return 0; }
这段代码试图读取10个整数并计算平均值,但存在几个问题。

- 数组声明为12个元素,但只读取了10个数字,而平均值却除以12,这会导致平均值计算错误。
- 在for循环中,`sum+=a[i];` 语句的缩进可能让人误解,实际上它属于循环体,但写法容易混淆。
- 最后输出的是 `sum` 而不是平均值 `avg`,所以打印的是总和而非平均值。

- 检查平均值计算的分母:你读取了多少个数字,就应该除以多少。
- 确认最后要输出的变量是 `avg` 而不是 `sum`。