清龍


私信TA

用户名:uq_72618500813

访问量:859

签 名:

等  级
排  名 880
经  验 3551
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校 自修大学
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include <stdio.h>

int main(){

int n;

scanf("%d",&n);

double num[n];

for(int i=0;i<n;i++){

scanf("%lf",&num[i]);

}

double max=num[0];

double min=num[0];

int indexMax;

int indexMin;

for(int i=1;i<n;i++){

if(num[i]>max){

max=num[i];//找到最大值 

indexMax=i;//找到最大值的下标 

}

if(num[i]<min){

min=num[i];//找到最小值 

indexMin=i;//找到最小值的下标 

}

}

double sum=0.0;

for(int i=0;i<n;i++){

if(i!=indexMax&&i!=indexMin){

sum+=num[i];//去除最大值与最小值的和 

}

}

double aver = sum*1.0/(n-2);

double abs[n-2];

int j=0;

for(int i=0;i<n;i++){

if(i!=indexMax&&i!=indexMin){

if((num[i]-aver)<0){

abs[j] = -(num[i]-aver);

}else{

abs[j] = num[i]-aver;

}

j++;

}

}

double Max=abs[0];

for(int i=1;i<n-2;i++){

if(abs[i]>Max){

Max=abs[i];

}

}

printf("%.2f %.2f",aver,Max);

}


 

0.0分

1 人评分

  评论区

  • «
  • »