题目:
七个成绩,去掉最低分和最高分,然后求平均,结果保留一位小数。
分析:
在输入的时候寻找最大和最小,记录其下标,然后求和的时候跳过最大和最小。
代码:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <string>
#include <iomanip>
#include <limits.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
/*freopen("file/input.txt","r",stdin);
freopen("file/output.txt","w",stdout);*/
/*
7个double数 去掉最高和最低 然后求平均
*/
double max,min,ans;
int n=7,index_max=0,index_min=0;
double num[7];
scanf("%lf",&num[0]);
max=min=num[0];
for(int i=1;i<7;i++){
double tmp;
scanf("%lf",&tmp);
num[i]=tmp;
if(tmp>max){
max=tmp;
index_max=i;
}
if(tmp<min){
min=tmp;
index_min=i;
}
}
//cout<<index_max<<" "<<index_min<<endl;
num[index_max]=num[index_min]=0;
double sum=0;
for(int i=0;i<7;i++){
sum+=num[i];
}
printf("%lf %.1lf\n",sum,sum/5);
return 0;
}