其他分享
首页 > 其他分享> > 1077 互评成绩计算(20分)

1077 互评成绩计算(20分)

作者:互联网

1077 互评成绩计算 (20分)

输入格式:

输出格式:

输入样例:

6 50
42 49 49 35 38 41
36 51 50 28 -1 30
40 36 41 33 47 49
30 250 -25 27 45 31
48 0 0 50 50 1234
43 41 36 29 42 29

输出样例:

42
33
41
31
37
39

程序代码

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<vector>
#include<math.h>
using namespace std;
int a,sum,j,average;
int max1=-1;
int main(){
    int n,m;
    cin>>n>>m;
    int min1=m+1;
    vector<int> v;
    for(int i=0;i<n;i++){
        while(scanf("%d",&a)){
            if(a<=m&&a>=0){
                v.push_back(a);
                j++;
            }
            if(cin.get()=='\n'){
                break;
            }
        }
        for(int x=1;x<j;x++){
            if(v[x]>max1){
                max1=v[x];
            }
        }
        for(int y=1;y<j;y++){
            if(v[y]<min1){
                min1=v[y];
            }
        }
        for(int k=1;k<j;k++){
            sum+=v[k];
        }
        sum=sum-min1-max1;
        double g1=sum/(j-3);
        double g2=v[0];
        average=round((g1+g2)/2);
        cout<<average<<endl;
        v.clear();
        j=0;
        sum=0;
        min1=m+1;
        max1=-1;
    }
    return 0;
}

标签:20,int,1077,sum,50,互评,评分,include
来源: https://blog.csdn.net/weixin_45344430/article/details/110731981