题解 | 牛牛的数学作业
牛牛的数学作业
https://www.nowcoder.com/practice/6f5d239c34a7429cb325a3d836abc342
#include <stdio.h>
#define NUM 100000
int main() {
int T;
scanf("%d",&T);
for(int j=1;j<=T;j++)//循环输出
{
int n;
scanf("%d",&n);
int a[NUM];
for(int i=0;i<n;i++)//计算极差
{
scanf("%d",&a[i]);
}
int min1 = a[0];
int max1 = a[0];
for(int i=1;i<n;i++)
{
if(a[i]<min1)
min1 = a[i];
if(a[i]>max1)
max1 = a[i];
}
printf("%d ",max1-min1);
double sum1 = 0.0;//计算方差
for(int i=0;i<n;i++)
{
sum1 += a[i];
}
double ave1 = sum1 / n;
double dev1;
double sum1_1 = 0.0;
for(int i=0;i<n;i++)
{
double arr1 = (a[i]-ave1)*(a[i]-ave1);
sum1_1 += arr1;
}
dev1 = sum1_1 / n;
printf("%.3f\n",dev1);
}
return 0;
}
