编写一个可以执行以下操作的C程序:
#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 <time.h>
#include <math.h>
int main()
{
// 随机数种子
srand((unsigned int)time(NULL));
float a[5];
for (int i = 0; i < 5; i++)
{
//生成随机数取余0~799
a[i] = (rand() % 800) / 100.0 + 2;
printf("%.2f ", a[i]);
}
float sum = 0;
for (int i = 0; i < 5; i++)
{
sum += a[i];
}
float avg = sum / 5;
printf("\n平均值:%.2f", avg);
float fz = 0;
for (int i = 0; i < 5; i++)
fz += (a[i] - avg) * (a[i] - avg);
fz = sqrt(fz / 5);
printf("\n标准差:%.2f", fz);
sum = 0;
for (int i = 0; i < 4; i++)
{
float temp = a[i] + a[i + 1];
if (temp > sum)
sum = temp;
}
printf("\n相邻两数最大和:%.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;
}
解答如下
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int main()
{
int n=5;
float t[n];
float sum = 0;
srand(time(NULL));
for (int i = 0; i < n; i++)
{
t[i] = rand() % 80/ 10.0 + 2;
sum += t[i];
printf("%.1f ", t[i]);
}
float avg = sum / n;
printf("\n平均值:%.1f", avg);
float bzc = 0;
for (int i = 0; i < n; i++)
bzc += (t[i] - avg) * (t[i] - avg);
bzc = sqrt(bzc / n);
printf("\n标准差:%.2f", bzc);
float max = 0;
int p=0;
for (int i = 0; i < n-1; i++)
{
float temp = t[i] + t[i + 1];
if (temp > max)
{
max = temp;
p=i;
}
}
printf("\n相邻两数(%.1f,%.1f)最大和:%.1f\n",t[p],t[p+1],max);
return 0;
}