当前位置:首页 » 编程语言 » 数的均方差c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数的均方差c语言

发布时间: 2022-09-14 19:36:37

A. c语言用函数算数组的平均数和方差.如何编写

类型不匹配,方差和平均数都是float型,你两个函数的返回值都是int类型,且输出也是用的%d

B. 求助C语言编程题

/*从键盘输入n个数,x1,x2,x3......xn,求这几个数的均方差s。 */
#include <math.h>

double average(double *p, int n); /*求平均数*/
double sum(double *p, int n);/*求平方和*/

int main()
{
int i, n;
double *p;

printf("please input the number of data you want to input:");
scanf("%d", &n);

p = (int *)malloc(sizeof(int) * n);

for (i = 0; i < n; i++)
{
printf("enter the %d number:", i+1);
scanf("%lf", &p[i]);
}

printf("the result:%lf\n", sqrt(sum(p, n)/n));

free(p);

return 0;
}

double average(double *p, int n) /*求平均数*/
{
int i;
double sum = 0;

for (i = 0; i < n; i++)
{
sum += p[i];
}

return sum/n;
}

double sum(double *p, int n)
{
int i;
double s = 0;

for (i = 0; i < n; i++)
{
s += (p[i] - average(p, n))*(p[i] - average(p, n));
}

return s;
}

C. c语言 求一组数的平均值及其均方差 写出程序,谢谢!

#include<stdio.h>
#include<math.h>
void main()
{
int i,N=4;
float sum1=0.0,sum2=0.0;
float average,variance;
float a[4];
for(i=0;i<N;i++)
scanf("%f",&a[i]);
for(i=0;i<N;i++)
sum1+=a[i];
average=sum1/N;
printf("均值=%f\n",average);
for(i=0;i<N;i++)
sum2+=(a[i]-average)*(a[i]-average);
variance=sum2/N;
printf("方差=%f\n",variance);
printf("均方差=%f\n",sqrt(variance));
}

你要求几个数,帮N=4改成N=?以及下面的4改成?就可以了!!!
}

D. C语言纠错

#include<stdio.h>
#include<math.h>
//voidinput(intn)
//{
//inti,b[100];
//for(i=0;i<n;i++)
//scanf("%f",&b[i]);
//}
voidinput(floatb[],intn){
for(inti=0;i<n;i++){
scanf("%f",&b[i]);
}
}
floataver(floatb[],intn)
{
floatsum=0,M;
for(inti=0;i<n;i++)
sum+=b[i];
returnM=sum/n;
}
voidstddev(floatb[],intn)
{
floatD,sum=0,t,m;
//m=aver(floatb[100],intn);
m=aver(b,n);
for(inti=0;i<n;i++)
{
t=(b[i]-m)*(b[i]-m);
sum+=t;
}
D=sqrt(sum/n);
printf("%f ",D);
}
intmain()
{
floatb[100];
intn;
printf("Pleaseinputn:");
scanf("%d",&n);
printf("Pleaseinputb[]:");
//b[100]=input(intn);
input(b,n);
//D=stddev(floatb[100],intn);
stddev(b,n);
return0;
}

尽可能的不更改你的代码,就这样吧...

E. 使用指针 求10个数均方差

代码如下:

#include<stdio.h>

doubleavg(double*array,intnum)

{inti;

doublesum=0;

for(i=0;i<num;++i)

{sum+=*(array+i);

}

returnsum/num;

}intmain(){inti;

doublearray[10];

printf("请输入10个值,按回车确版认 ");

for(i=0;i<10;++i){

scanf("%lf",array+i);

}

printf("平均值为:权%g ",avg(array,10));

}


(5)数的均方差c语言扩展阅读:

一、方差的性质:

1.设C为常数,则D(C) = 0(常数无波动)。

2.D(CX)=C2D(X) (常数平方提取)。

二、平均差的特点:

平均差越大,表明各标志值与算术平均数的差异程度越大,该算术平均数的代表性专就越小;平均差越小,表明各标志值与算术平均数的差异程度越小,该算术平均数的代表性就越大。

F. 求n个数的均方差,c语言

/*由于时间缘故,没有增加对输入数据的检查*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define N 10 /*暂定最多计算10个数的均方差,可根据实际修改该数*/
main()
{
float d[N],fsum,avg,temp;
char str[10];
int i,j,num;

printf("\n请输入不多于%d的数字:输入‘Y’或‘y’结束",N);
fsum=0.0;num=0;
for(i=0;i<N;i++)
{
printf("\nNO.%d : ",i+1);
scanf("%s",str);
if(stricmp(str,"y")==0)break;
d[i]=(float)atof(str);
fsum+=d[num++];
}
avg=fsum/num;

fsum=0.0;
for(i=0;i<num;i++)
{
temp=d[i]-avg;
fsum+=temp*temp;
}

fsum=sqrt(fsum/num);
printf("Standard Deviation:%f",fsum);

return 0;
}

G. c语言题目,输入n个数到一维数组a中,求均方差。

#include<stdio.h>
#include<math.h>

/*要把n传递出去,请用引用或者指针*/
voidinput(inta[],int&n)
{
inti;
n=100;
printf("inputnumbers: ");
for(i=0;i<=n-1;i++)
scanf("%d ",&a[i]);
}

/*数组定义时是int,这边要保持一致*/
floataverage(inta[],intn)
{
inti;
floatavg=0;
for(i=0;i<n;i++)
avg+=a[i];
avg=avg/(i+1);
returnavg;
}

/*数组定义时是int,这边要保持一致*/
floatstddev(inta[],intn)

{
/*sum需要初始化,否则结果会出错*/
floatsum=0.0;
floatM,D;
inti;
/*传递参数时直接用a,而不是a[]*/
M=average(a,n);
for(i=0;i<n;i++)
sum=sum+(a[i]-M)*(a[i]-M);
D=sqrt(sum/(i+1));
return(D);
}

voidmain()
{
/*数组的定义只能用常量来指定大小,要实现动态的,使用vector或者指针*/
intn;
inta[100];
/*传递参数时直接用a,而不是a[]*/
input(a,n);
printf("standarddeviationis:%f ",stddev(a,n));
}

小哥你的错误可真不少呀,基础知识不够牢固

H. C语言编程:计算一组整数的平均值和方差。

我原有一个 y_statistics,给你改成int, 输出 mean,sigma,rms
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

y_statistics(int *y, int N, float *ymean, float *ysigma, float *yrms)
{
int i;
float ys,yr,dy,ym;
double sum,sum2;
sum = 0.0;
for (i=0;i<N;i++) sum = sum + (float) y[i];
ym = (float) ( sum / (double) (N) );
*ymean = ym;
sum = 0.0;
sum2 = 0.0;
for (i=0;i<N;i++){
dy = y[i] - ym;
sum = sum + dy * dy;
sum2 = sum2 + y[i] * y[i];
};
yr = (float) sqrt( sum2 / (double) N );
ys = (float) sqrt( sum / (double) (N-1) );

*ysigma = (float) ys;
*yrms = yr;
}

void main() {
int y[5]={2,3,4,5,6};
int N=5;
float ymean, ysigma, yrms;
y_statistics(&y[0], N, &ymean, &ysigma, &yrms);
printf("%f %f %f\n",ymean, ysigma, yrms);
}

I. 用C语言求多组数据的平均值和方差,用函数,急,帮帮忙,谢谢啦

//计算平均数,方差,标准差。#include #include #include #include #include #define N 100void TongJi(double a[],int n,double *aver,double *vari,double *stdDev){ //对长度为n的数组a进行统计,统计其平均值aver、方差vari、标准差stdDev ...

J. 用C语言如何算平均数和方差及标准差

由于没有指明数据的来源,下面就从文本文件"data.txt"中取出一些学生的身高数据,并计算平均值,方差和标准差!代码如下:

#include<stdio.h>

#include <math.h>

#define hh printf(" =================================== ");

void main()

{

FILE *fp;

float a[520],x,avr,fc,bzc,t,sum=0.0;

int i,k=0;

fp=fopen("D:\data.txt","r");

if(fp==NULL)

printf("文件打开失败! ");

else

{

printf("身高数据: ");

fscanf(fp,"%f",&x);

while(x!=0)

{

a[k++]=x;

printf("%.0f ",x);

sum+=x;

fscanf(fp,"%f",&x);

}

avr=sum/k;

sum=0;

for(i=0;i<k;i++)

sum+=(a[i]-avr)*(a[i]-avr);

fc=sum/(k-1);

bzc=sqrt(fc);hh

printf(" 学生人数:%d ",k);

printf(" 身高均值:%.2f ",avr);

printf(" 身高方差:%.2f ",fc);

printf("身高标准差:%.2f ",bzc);

}

hh

fclose(fp);

}


(10)数的均方差c语言扩展阅读:

c语言的特点

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部份的变量类型可以转换,例如整型和字符型变量。

6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。

7、预编译处理(preprocessor)让C语言的编译更具有弹性。