#include <stdio.h> int fun(double x[], int n); { int j, c=0; double xa; for (j=0; j<n; j++ ) xa += x[j]/n; printf("平均值为:%d\n",xa); for (j=0, j<n, j++ ) if (x[j] => xa) c++; return c; } main() { double x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763}; printf("平均值以上的个数为:%d个.\n", fun (x, 8)); }
时间: 2024-01-12 09:05:45 浏览: 76
c语言函数库-第一章(C标准库).doc
这段代码中有一些错误,我来帮你指出来。
1. 函数定义的语法有误,应该是:
```
int fun(double x[], int n)
{
int j, c=0;
double xa;
for (j=0; j<n; j++ )
xa += x[j]/n;
printf("平均值为:%f\n",xa);
for (j=0; j<n; j++ )
if (x[j] >= xa)
c++;
return c;
}
```
2. 计算平均值的过程中,应该初始化 xa 为 0。
3. 在输出平均值时,应该使用 %f 而不是 %d。
4. 在第二个 for 循环中,应该使用逗号分隔符而不是分号分隔符。
5. 在判断 x[j] 是否大于等于平均值时,应该使用 >= 而不是 =>。
修改后的代码如下:
```
#include <stdio.h>
int fun(double x[], int n)
{
int j, c=0;
double xa = 0;
for (j=0; j<n; j++ )
xa += x[j]/n;
printf("平均值为:%f\n",xa);
for (j=0; j<n; j++ )
if (x[j] >= xa)
c++;
return c;
}
int main()
{
double x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763};
printf("平均值以上的个数为:%d个.\n", fun (x, 8));
return 0;
}
```
输出结果为:
```
平均值为:195.880375
平均值以上的个数为:5个.
```
阅读全文