C的一道填空题

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:47:48
s=(x1-x)*(x1-x)/1+(x2-x)*(x2-x)/2+(x3-x)*(x3-x)/3.......(xn-x)*(xn-x)/n
求S
我想了半天都没有想出来...真是笨得可以!

#include <stdio.h>
float fun(float x[], int n)
{ int j; float xa=0.0, s;
for (j=0; j <_____; j++ )
xa += x[j]/n;
s = ______;
for (j=0; j <n; j++ )
s += (x[j]-xa)*(x[j]-xa)/______;
return s;
}
main ( )
{ float x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763};
printf("%f\n", fun (x, 8));
}
大哥们...
我也是和你们一样的答案...
可是都错了!
答案是1.153...

没有掉东西...这都是我原样COPY下来的!
它答案里的最后一个空是填的n
我看不明白!
我不会处理的是x[n]和n的关系!

n
0
(j+1)
是题目错了吧,看样子是求方差的,怎么会除以不同的数字呢

#include <stdio.h>
float fun(float x[], int n) //n应该是数组的长度
{ int j; float xa=0.0, s;
for (j=0; j <__n___; j++ )
xa += x[j]/n;
s = _0_____; //赋初值为0
for (j=0; j <n; j++ )
s += (x[j]-xa)*(x[j]-xa)/__(j+1)___; //从题目观察一定要 找规律
return s;
}
main ( )
{ float x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763};
printf("%f\n", fun (x, 8));
}

你掉了什么东西吗?
表达式里没看出来X[j]和xa有关系