检查以下代码是否有错误#include<stdio.h> int main() { int max = 0, min = 0, sum = 0; int num; for (int i = 0; i < 10; i++) { scanf("%d", &num); } if (num>max) { max = num; } if (num<min) { min = num; } sum += num; } printf("最高分为:%d\n最低分为:%d\n平均值为:%f", max, min, (float)sum / 10.0); }
时间: 2024-02-14 13:17:59 浏览: 71
代码存在一些错误:
1. 变量max和min应该初始化为输入的第一个数,否则会出现错误的结果。
2. for循环中的if语句应该放在花括号内,否则只会执行一次。
3. 求平均值时应该是除以输入的数量而不是固定的10。
下面是修改后的代码:
```c
#include<stdio.h>
int main() {
int max, min, sum = 0;
int num;
scanf("%d", &num);
max = min = num; // 初始化max和min为第一个输入的数
for (int i = 1; i < 10; i++) // 循环9次输入数
{
scanf("%d", &num);
if (num > max)
{
max = num;
}
if (num < min)
{
min = num;
}
sum += num;
}
printf("最高分为:%d\n最低分为:%d\n平均值为:%f", max, min, (float)sum / 9.0); // 输出结果
return 0;
}
```
修改后的代码中,首先将max和min初始化为第一个输入的数,然后循环9次输入数,每次输入后更新max、min和sum,最后输出结果。
阅读全文