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

c语言随机生成20个数求方差

发布时间: 2022-09-10 16:07:30

1. 用c语言编写一段程序:随机生成20个数,求他们的平均数。 这个怎么写呀

#include<cstdio>
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<stdio.h>
usingnamespacestd;
intmain()
{
srand(time(NULL));
__int64sum=0;
for(inti=0;i<20;i++)
{
sum+=rand();
}
cout<<"平均值为"<<(double)sum/20<<endl;
return0;
}

2. VB程序设计 随机产生20个0∼100之间的整数,求这组随机数的方差和标准差

PrivateSubForm_Click()
Randomize
Dima(0To19)AsInteger
DimaverageAsSingle
DimsAsSingle
Fori=0To19
a(i)=Int(Rnd()*100)
Print(a(i)&"");
average=average+a(i)
Nexti
Print
average=average/20

Fori=0To19
s=s+(a(i)-average)^2
Nexti
s=s/20
Print("方差为"&s)
Print("标准差为"&Sqr(s))
Print
EndSub

希望能帮到你

3. C语言程序实现求一组数的平均值的标准方差

1。求每一个数与这个样本数列的数学平均值之间的差,称均差;

2。计算每一个差的平方,称方差;

3。求它们的总和,再除以这个样本数列的项数得到均方差;

4。再开根号得到标准方差!

/*方差和*/
doublenum[10];//用10长度的数组举例
doublesum=0;//保存一下10个数的和
doublepow2_sum=0;//临时保存方差和
double__average;//临时保存均方差
doubleans;//均方差

for(inti=0;i<10;i++){
sum+=num[i];
}
for(inti=0;i<10;i++){
pow2_sum+=pow(((sum/10)-num[i]),2);//math.h平方函数求方差和
}


/*求均方差*/
__average=pow2_sum/10;

/*标准方差*/
ans=sqrt(__average);

4. C语言或者matlab怎么样生成方差固定的N个数

(1)

假设X的均值μ,方差σ^2

那么y=ax+b的均值则为a*μ+b, 方差为:a^2*σ^2

Matlab的randn函数可以产生均值为0,方差为1的正态分布,

那么如果我们要生成一个均值为500,方差为25的1000个随机数,

a=5;
b=500;
y=a*randn(1000,1)+b;

验证

stats=[mean(y)std(y)var(y)]

stats = 1×3

499.8368 4.9948 24.9483

(2)

Matlab还有一个函数是random('name',A,B)

通过设置‘name’参数和A,B参数来生成一系列随机数

比如要想生成均值为0,方差为25的正态分布的数组, 那么

y=random('norm',0,5)

5. 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);
}

6. C++实验:任意给出20个 数,求均值和方差

#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
const int N=20;
float a[N],sum=0,avg,fangcha;
for(int i=0; i<N; i++)
{
a[i]=rand();
sum+=a[i];
}
avg=sum/N;
cout<<"average="<<avg<<endl;
for(int i=0; i<N; i++)
{
fangcha=(a[i]-avg)*(a[i]-avg);
cout<<"fangcha "<<i<<"="<<fangcha<<endl;
}
system("PAUSE");
return 0;
}
这是随机生成20个数之后,自己计算平均值和方差的程序,供参考。

7. C语言中随意生成20个数字用什么函数啊

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
/*产生一个start~end区间中的随机数,然后返回该随机值*/
int proce_rand(int start, int end);
int main(void)
{
int num = 0;
int i = 0;
//for test
for(i=0; i<20; i++)
{
num = proce_rand(100,200);
/*注意这里的休眠是必要的,因为是用time(NULL)作为种子,如果直接运行,那么很有可能产生的多个一样的随机数*/
sleep(1);
printf("%d\n",num);
}
return 0;
}
int proce_rand(int start, int end)
{
int rand_num;
int start_t;
int end_t;
//确定参数范围,确保start_t<=end
(start<=end)?(start_t=start,end_t=end):(start_t=end,end_t=start);
//time(NULL)为随机种子,播种子
srand((unsigned)time(NULL));
//产生随机数
rand_num =rand()%(end_t-start_t+1)+start_t;
return rand_num;
}

8. C语言编程考试题 用随机函数产生并输出20个[10,99]的随机整数,输出其中大于这20个数的平均值的数。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
srand(time(0));
int i=0; //用于下面的循环
int a[20]={0}; //用于存储产生的20个随机数。
double ave=0; //用于求20个随机数的和,为了求他们的平均数。
for(i =0;i<=19;i++)
{
a[i]=rand()%90+10; //rand()%90产生0-89的随机数,加上10后就是10-99的随机数。
ave=ave+a[i];
printf("第%d个随机数是:\n",i+1,a[i]);
}
ave=ave/20;
for(i =0;i<=19;i++) //打印大于平均数值的随机数;
{
if(a[i]>ave)
{
printf("第%d个随机数等于%lf大于平均数%lf\n",i+1,a[i],ave)
}
}
return 0;
}
结果:
第1个随机数是:34
第2个随机数是:32
第3个随机数是:86
第4个随机数是:20
第5个随机数是:86
第6个随机数是:43
第7个随机数是:26
第8个随机数是:65
第9个随机数是:98
第10个随机数是:57
第11个随机数是:98
第12个随机数是:59
第13个随机数是:72
第14个随机数是:27
第15个随机数是:25
第16个随机数是:55
第17个随机数是:53
第18个随机数是:83
第。。。。。。。。

9. C语言 求方差

直接上代码:

#include<stdio.h>
#include<conio.h>
#include<math.h>
doublefangcha(doublex[],intn){
//求数组x(具有n个元素)的方差:S=(<x^2>-<x>)^0.5
inti;
doublexaver=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的平均
returnsqrt(x2aver-xaver*xaver);
}
intmain(){
doublex[5];
inti;
printf("Input5datas: ");
for(i=0;i<5;++i){
scanf("%lf",&x[i]);
}
printf(" FangChaS=%.4lf",fangcha(x,5));
printf(" Finished! ");
getch();
return0;
}

希望能帮助到你。

10. 求助,C语言,求方差的编程问题!

#include <stdio.h>

int main ( void )
{
float *x, *p, E, D;
int i, n;
printf ( "n=" );
scanf ( "%d", &n );
p = x = (float*) malloc ( sizeof(float) * n );
E = D = 0.0;
for ( i = n; i > 0; i-- )
{
scanf ( "%f", p );
E += *p++;
}
E /= n;
p = x;
for ( i = n; i > 0; i-- )
{
float tmp;
tmp = *p++ - E;
D += tmp * tmp;
}
D /= n;
free ( x );
printf ( "%f", D );
return 0;
}