C语言 求方差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 求方差相关的知识,希望对你有一定的参考价值。
方差用于描述一批数据的离散程度。编写程序,从键盘输入5个实数x1,x2,x3,x4,x5,计算出它们的方差,并输出(结果保留4位小数,使用double型数据)。提示:假设这5个数的平均值为m,则方差
v = 1/5[(m-x1)^2 + (m-x2)^2 + (m-x3)^2 + (m-x4)^2 + (m-x5)^2]^(1/2).
其中^表示平方,请你选择适当的运算符表示。
直接上代码:
#include <stdio.h>#include <conio.h>
#include <math.h>
double fangcha(double x[], int n)
//求数组x(具有n个元素)的方差:S=(<x^2>-<x>)^0.5
int i;
double xaver=0.0, x2aver=0.0;
for(i=0;i<n;++i)
xaver+=x[i]; x2aver+=x[i]*x[i];
xaver/=n; x2aver/=n; //求x的平均、x^2的平均
return sqrt(x2aver-xaver*xaver);
int main()
double x[5];
int i;
printf("Input 5 datas:\\n");
for(i=0;i<5;++i)
scanf("%lf",&x[i]);
printf("\\nFangCha S=%.4lf",fangcha(x,5));
printf("\\nFinished!\\n");
getch();
return 0;
希望能帮助到你。
#include <math.h>
const int MAXSIZE = 100;
double variance(double arr[],int n)
int i;
double sum = 0,tmp = 0,x_;
for(i = 0; i < n; ++i) sum += arr[i];
x_ = sum / n;
for(i = 0; i < n; ++i)
tmp += (arr[i] - x_) * (arr[i] - x_);
return sqrt(tmp);
int main()
int n = 0;
double arr[MAXSIZE];
printf("输入一个数('q' to quit):");
while(scanf("%lf",&arr[n]) == 1 && n < MAXSIZE)
printf("输入一个数('q' to quit):");
++n;
fflush(stdin);
printf("样本数据:%d个\\n",n);
printf("方差是:%.4lf\\n",variance(arr,n));
return 0;
追问
谢谢!
参考技术B #include<stdio.h>#include<math.h>
void mian()
double x1,x2,x3,x4,x5,m,d;
printf("Please input your number:\n");
scanf("%f%f%f%f%f",&x1,&x2,&x3,&x4,&x5);
m=(x1+x2+x3+x4+x5)/5;
d=sqrt((pow((m-x1),2)+pow((m-x2),2)+pow((m-x3),2)+pow((m-x4),2)+(pow((m-x5),2)))/5);
printf("V is:%f\n",d);
//system("pause");
汇编语言实现求两个数的最小公约数,平方差,各占和的百分比
按下列要求编程:
(1)输入两个小于100的十进制正整数。
(2)求出这两个数的所有公约数。
(3)求出这两个数的平方差,若是负的要输出负号。
(4)计算两个数各占和的百分比,并且按照“ %”的格式输出(小数点后保留两位)。
(5)数据的输入和结果的输出都要有必要的提示,且提示独占一行。
(6)要使用到子程序。
源代码:
运行示例:
以上是关于C语言 求方差的主要内容,如果未能解决你的问题,请参考以下文章