1 条题解

  • 0
    @ 2025-4-7 21:28:48

    C :

    #include <stdio.h>
    struct student {
        int num;
        char name[20];
        int score[3];
    }stud[10];
    void main() {
        int i, j, best;
        float sum, tot[3], aveg[3], aveg_score[10];
        for (i = 0;i < 3;i++)
            tot[i] = 0;
        for (i = 0;i < 10;i++) {
            scanf("%d %s", &stud[i].num, stud[i].name);
            sum = 0;
            for (j = 0;j < 3;j++) {
                scanf("%d", &stud[i].score[j]);
                tot[j] += stud[i].score[j];
                sum += stud[i].score[j];
            }
            aveg_score[i] = sum / 3;
        }
        for (i = 0;i < 3;i++) {
            aveg[i] = tot[i] / 10;
            printf("%.2f ", aveg[i]);
        }
        printf("\n");
        best = 0;
        for (i = 1;i < 10;i++)
            if (aveg_score[i] > aveg_score[best])
                best = i;
        printf("%d %s", stud[best].num, stud[best].name);
        for (i = 0;i < 3;i++)
            printf(" %d", stud[best].score[i]);
        printf("\n");
    }
    

    C++ :

    #include<iostream>
    #include<algorithm>
    #include<numeric>
    using namespace std;
    
    struct Student
    {
    	int num;
    	char name[3];
    	int a;
    	int b;
    	int c;
    	float ave;
    }student[10];
    
    int main()
    {
    	int i,k;
    	int a=0,b=0,c=0;
    	float g=0;
    	for(i=0;i<10;i++)
    	{
    		scanf("%d%s%d%d%d",&student[i].num,&student[i].name,&student[i].a,&student[i].b,&student[i].c);
    		student[i].ave=(student[i].a+student[i].b+student[i].c)*1.0/3;
    		a+=student[i].a;b+=student[i].b;c+=student[i].c;
    	}
    	printf("%.2f %.2f %.2f \n",a*1.0/10,b*1.0/10,c*1.0/10);
    	for(i=0;i<10;i++)
    	{
    		if(g<student[i].ave) {g=student[i].ave;k=i;}
    
    	}
    	printf("%d %s %d %d %d\n",student[k].num,student[k].name,student[k].a,student[k].b,student[k].c);
    	return 0;
    }
    

    Java :

    
    
    import java.text.DecimalFormat;
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
       private static Scanner s = new Scanner(System.in) ;
       private static DecimalFormat df = new DecimalFormat("0.00") ;
       public static void main(String[] args) {
    	  B b[] = new B[10] ;
    	  
    	  for (int i = 0; i < b.length; i++) {
    		  b[i] = new B() ;
    		  
    		  b[i].num = s.nextInt() ;
    		  b[i].name = s.next() ;
    		  b[i].s1 = s.nextInt() ;
    	      b[i].s2 = s.nextInt() ;
    		  b[i].s3 = s.nextInt() ;
    	  }
    	  double sum1 = 0 ;
    	  double sum2 = 0 ;
    	  double sum3 = 0 ;
    	  for (int i = 0; i < b.length; i++) {
    		 sum1 = sum1 + b[i].s1 ;
    		 sum2 = sum2 + b[i].s2 ;
    		 sum3 = sum3 + b[i].s3 ;
    	  }
    	  
    	  System.out.println(df.format(sum1/b.length)+" "+df.format(sum2/b.length)+" "+df.format(sum3/b.length)+" ");
    	  Arrays.sort(b);
    	  
    	  System.out.println(b[b.length-1].num+" "+b[b.length-1].name+" "+b[b.length-1].s1+" "
    			  +b[b.length-1].s2+" "+b[b.length-1].s3);
       }
       
    }
    
    class B implements Comparable{
    	int num ;
    	String name ;
    	int s1 ;
    	int s2 ;
    	int s3 ;
    	
    	double a(){
    		return ((double)(s1+s2+s3))/3 ;
    	}
    
    	@Override
    	public int compareTo(Object o) {
    		// TODO Auto-generated method stub
    		B b = (B) o ;
    		if(this.a()>b.a())return 1 ;
    		else if(this.a()==b.a())
    		return 0;
    		else return -1 ;
    	}
    }
    
    
    • 1

    信息

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