当前位置: 代码迷 >> 综合 >> 华科201601
  详细解决方案

华科201601

热度:12   发布时间:2023-09-22 23:24:59.0

题目:

七个成绩,去掉最低分和最高分,然后求平均,结果保留一位小数。

分析:

在输入的时候寻找最大和最小,记录其下标,然后求和的时候跳过最大和最小。

代码:

#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;
}


  相关解决方案