编写一个可以执行下列任务的C语言程序。
1.创建5个在2.0和10.0之间的随机实数。
2.显示这5个随机的实数,四舍五入到小数点后2位
。
3.计算下列各项。平均数、标准差(下面的表达式。
4.在屏幕上显示每个计算的结果。
5.计算5个随机实数中两个连续数的最大和。
显示最大和。
要求不少啊
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int main()
{
float a[5],sum=0,avg,fz=0;
srand(time(NULL));
for(int i=0;i<5;i++)
{
a[i] = (rand()%8000)/1000.0+2;
printf("%.2f\n",a[i]);
sum += a[i];
}
avg = sum/5;
printf("平均值:%.2f\n",avg);
sum = 0;
for(int i=0;i<5;i++)
sum += (a[i]-avg)*(a[i]-avg);
fz = sqrt(sum/5);
printf("标准差:%.2f\n",fz);
sum = 0;
for(int i=0;i<4;i++)
{
if(a[i]+a[i+1] > sum)
sum = a[i]+a[i+1];
}
printf("相邻两数最大和:%.2f\n",sum);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
float a[5];
int i;
float avg;
float standardDev;
float max=0.0;
//1、生产5个2.0~10.0的随机数
//rand()%8:表示生产0-7的随机数
//rand()%10/10.00:表示生产0.0-0.9的随机数
//rand()%10/100.00:表示生产0.00-0.09的随机数
for(i=0;i<5;i++){
a[i]=rand()%8+2.0+rand()%10/10.00+rand()%10/100.00;
}
//2、输出随机数
for(i=0;i<5;i++)
{
printf("%.2f ",a[i]);
}
printf("\n");//换行
//3、求平均数
for(i=0;i<5;i++)
{
avg+=a[i];
if(i==4)
{
avg=avg/5.00;
printf("平均数为:%.2f\n",avg);
}
}
//4、求标准差
for(i=0;i<5;i++)
{
standardDev+=pow(a[i]-avg,2);
if(i==4)
{
standardDev=sqrt(standardDev/5.00);
printf("标准差为:%.2f\n",standardDev);
}
}
//5.计算5个随机实数中两个连续数的最大和
for(i=1;i<5;i++)
{
if(a[i-1]+a[i]>max){max=a[i-1]+a[i];}
}
printf("两个连续数的最大和为:%.2f\n",max);
return 0;
}