以下程序的功能是计算十个数据的平均值。找出其中的错误并改正之。 #include <stdio.h> void main(void) { int i, sum; float avg; int sc[10], *p = sc; for (i=0, i<10, i++) { scanf("%d", p); p++; sum += *p; } avg = sum / 10; printf("avg=%f\n", avg); }
时间: 2024-02-14 10:10:20 浏览: 208
c++ 求一些数的平均值。
以下是改正后的程序:
```
#include <stdio.h>
void main(void) {
int i, sum = 0;
float avg;
int sc[10], *p = sc;
for (i = 0; i < 10; i++) {
scanf("%d", p);
sum += *p;
p++;
}
avg = (float) sum / 10;
printf("avg=%f\n", avg);
}
```
主要的错误是:
1. `sum` 没有初始化,导致计算平均值时会出现错误。
2. 在循环条件中使用了逗号运算符,应该使用分号。
3. 在计算平均值时,整数除法会导致结果被截断,应该将其中一个操作数强制转换为浮点数。
阅读全文