#include <bits/stdc++.h>
using namespace std;
int t,n,i,b;float c,sum;float k=0;float x;
int main()
{
cin>>t;
while(t--)
{
cin>>n;
int a[n];
for(i=0; i<n; i++)
{
cin>>a[i];
}
int maxa;
maxa=a[0];
for(i=0; i<n; i++)
{
if(maxa<a[i])maxa=a[i];
}
int mina;
mina=a[0];
for(i=0; i<n; i++)
{
if(mina>a[i])mina=a[i];
}
b=maxa-mina;cout <<b<<" ";
for(i=0;i<n;i++){
sum+=a[i];
}c=sum/n;
for(i=0;i<n;i++){
k=k+(c-a[i])*(c-a[i]);
}x=k/n;
cout<<fixed<<setprecision(3)<<x<<endl;
}
return 0;
} 题解:#include <bits/stdc++.h>
using namespace std;
int main(){
int T,n,*a,i,ji,fang;
double sum,avg,sum1,avg1;
cin>>T;
while(T--)
{
cin>>n;
a=new int[n];
sum=0;
for(i=0;i<n;i++){
cin>>a[i];
sum+=a[i];
}
sort(a,a+n);
ji=a[n-1]-a[0];
avg=sum/n;
sum1=0;
for(i=0;i<n;i++)
{
sum1+=(a[i]-avg)*(a[i]-avg);
}
avg1=sum1/n;
printf("%d %.3f\n",ji,avg1);
}
}
using namespace std;
int main(){
int T,n,*a,i,ji,fang;
double sum,avg,sum1,avg1;
cin>>T;
while(T--)
{
cin>>n;
a=new int[n];
sum=0;
for(i=0;i<n;i++){
cin>>a[i];
sum+=a[i];
}
sort(a,a+n);
ji=a[n-1]-a[0];
avg=sum/n;
sum1=0;
for(i=0;i<n;i++)
{
sum1+=(a[i]-avg)*(a[i]-avg);
}
avg1=sum1/n;
printf("%d %.3f\n",ji,avg1);
}
}
全部评论
(2) 回帖