1 条题解

  • 0
    @ 2023-6-11 12:16:43

    C :

    #include<stdio.h>
    int main(){
    	int n,i,j,t,max,min;
    	scanf("%d",&n); 
    	int a[n][7];
    	for(i=0;i<n;i++){
    		//当前行的总分 
    		t = 0,max = 1,min = 1;
    		scanf("%d",&a[i][0]);
    		for(j=1;j<=5;j++){
    			scanf("%d",&a[i][j]);
    			t = t + a[i][j];
    			if(a[i][j]>a[i][max]){
    				max = j;
    			}
    			if(a[i][j]<a[i][min]){
    				min = j;
    			}
    		}
    		a[i][6] = t - a[i][max] - a[i][min];
    	}
    	for(i=1;i<=n;i++){
    		for(j=0;j<n-i;j++){
    			if(a[j][6] < a[j+1][6]){
    				t = a[j][6];
    				a[j][6] = a[j+1][6];
    				a[j+1][6] = t;
    				
    				t = a[j][0];
    				a[j][0] = a[j+1][0];
    				a[j+1][0] = t;
    				
    			}
    		}
    	}
    	for(i=0;i<3;i++){
    		printf("%d %.3lf\n",a[i][0],a[i][6]/3.0);
    	}
    	return 0;
    }
    
    

    C++ :

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main(){
    	int i,j,a[100][6],num[100],max,min,s=0,n;
    	double score[100];
    	cin>>n;
    	for(i=0;i<n;i++){
    		for(j=0;j<6;j++){
    			cin>>a[i][j];
    		}
    		num[i]=a[i][0];
    		max=a[i][1];
    		min=a[i][1];
    		s=a[i][1];
    		for(j=2;j<=5;j++){
    			if(a[i][j]>max){
    				max=a[i][j];
    			}
    			if(a[i][j]<min){
    				min=a[i][j];
    			}
    			s=s+a[i][j];
    		}
    		score[i]=(s-max-min)*1.0/3;
    	}
    	for(i=1;i<n;i++){
    		for(j=0;j<n-i;j++){
    			if(score[j]<score[j+1]){
    				swap(score[j],score[j+1]);
    				swap(num[j],num[j+1]);
    			}
    		}
    	}
    	for(i=0;i<3;i++){
    		cout<<num[i]<<" ";
    		cout<<fixed<<setprecision(3)<<score[i]<<endl;
    	}
    }
    

    Python :

    
    
     
    stus = []
    class Student:
        def __init__(self,id,data,ave):
            self.id = id
            self.data= data
            self.ave=ave
    
    n=int(input())
    for i in range(n):
      t=list(map(int,input().split()))
      x=t[0:1]
      y=t[1:]
      y=sorted(y)
      stus.append(Student(id=x[0],data=y,ave=sum(y[1:4])/3))
    
    
    stulist = sorted(stus, key=lambda zz:(-zz.ave, zz.id))
    
    for i in range(3):
      print("%d %.3lf"%(stulist[i].id,stulist[i].ave))
    
    
    • 1

    信息

    ID
    2235
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者