请用c语言编写一个函数,返回n个整数的方差。并要求写出调用该函数的主函数。说明:①函数原型声明:double fdx(int x[],int n);②方差s的计算方式:s^2=∑(xi-x)^2/n,其中x是x1)
时间: 2024-02-05 14:11:28 浏览: 22
以下是您需要的代码:
```c
#include <stdio.h>
#include <math.h>
double fdx(int x[], int n);
int main() {
int n;
printf("请输入整数的个数:");
scanf("%d", &n);
int x[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &x[i]);
}
double variance = fdx(x, n);
printf("这%d个整数的方差为:%lf\n", n, variance);
return 0;
}
double fdx(int x[], int n) {
double sum = 0, mean = 0;
for (int i = 0; i < n; i++) {
mean += x[i];
}
mean /= n;
for (int i = 0; i < n; i++) {
sum += pow(x[i] - mean, 2);
}
double variance = sum / n;
return variance;
}
```
在主函数中,首先输入整数的个数n和n个整数,然后调用fdx函数计算方差,并输出结果。fdx函数接收一个整型数组和数组长度,首先计算出这些整数的平均数mean,然后按照方差的公式计算方差s^2=∑(xi-x)^2/n,最后返回方差的值。