在线编译器 C

#include <stdio.h> int main() { int arr[12]; int sum = 0; double avg = 0.00; for (int i = 0; i < 12; i++) { scanf("%d", &arr[i]); sum += arr[i]; } avg = sum / 12; printf("%.2f\n", avg); return 0; }
这段代码的功能是:读取12个整数,计算它们的平均值,并保留两位小数输出。

代码中存在一个常见问题:整数除法导致平均值结果不准确。

- 在计算 `avg = sum / 12` 时,`sum` 和 `12` 都是整数,因此会进行整数除法,结果的小数部分会被截断。例如,如果总和是 25,平均值会变成 2.00 而不是 2.08。
- 要得到正确的小数结果,需要将其中一个操作数转换为浮点数,比如写成 `avg = sum / 12.0` 或 `avg = (double)sum / 12`。