#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { //数组 int arr[10] = {0}; //输入 int i = 0; for (i = 0; i < 10; i++) { scanf("%d", &arr[i]); } //求和 int sum = 0; for (i = 0; i < 10; i++); { sum = sum + arr[i]; } //求平均值 float avg = sum / 10; printf("avg = %f\n", avg); return 0; }
时间: 2024-04-17 13:26:36 浏览: 67
#include <stdio.h>
4星 · 用户满意度95%
根据你提供的代码,我注意到了一个可能导致结果出现乱码的问题。请注意检查第二个for循环的分号";"是否放在了循环语句的后面,这可能导致循环体不执行,从而导致sum的值没有正确计算。
请修改代码如下:
```c
int sum = 0;
for (i = 0; i < 10; i++) // 去掉多余的分号
{
sum = sum + arr[i];
}
```
同时,为了确保计算平均值时的精度,你可以将sum的数据类型改为float,这样在进行除法运算时可以得到浮点数结果,代码如下:
```c
float sum = 0; // 将sum的数据类型改为float
for (i = 0; i < 10; i++)
{
sum = sum + arr[i];
}
float avg = sum / 10;
```
通过以上修改,你应该能够得到正确的平均值结果,避免乱码问题。如果还有其他问题,请提供更多细节,以便我能够更好地帮助你。
阅读全文