1 条题解

  • 0
    @ 2025-12-5 16:55:35

    C :

    #include <stdio.h>
    struct student
    {char number[10];
     char name[10];
     int score1;
     int score2;
     int score3;
    }s[100],s2[100];
    
    int main()
    {int n,i;
     int aver1,aver2,aver3,sum=0,sum1[100],max;
     scanf("%d",&n);
     for(i=0;i<n;i++)
    	 scanf("%s%s%d%d%d",s[i].number,s[i].name,&s[i].score1,&s[i].score2,&s[i].score3);
     // for(i=0;i<n;i++)
    //printf("%s %s %d %d %d\n",s[i].number,s[i].name,s[i].score1,s[i].score2,s[i].score3);
     for(i=0;i<n;i++)
    	 sum+=s[i].score1;
     aver1=sum/n;
     for(sum=0,i=0;i<n;i++)
    	 sum+=s[i].score2;
     aver2=sum/n;
     for(sum=0,i=0;i<n;i++)
    	 sum+=s[i].score3;
     aver3=sum/n;
    
     for(i=0;i<n;i++)
    	 sum1[i]=s[i].score1+s[i].score2+s[i].score3;
    	max=sum1[0];
     for(i=0;i<n;i++)
    	 if(sum1[i]>=max)
    		 s2[0]=s[i];                      
     printf("%d %d %d\n",aver1,aver2,aver3);
      
    	 printf("%s %s %d %d %d",s2[0].number,s2[0].name,s2[0].score1,s2[0].score2,s2[0].score3);
     
    
     return 0;
    }
    

    C++ :

    
    #include<stdio.h>
    #define N 100 
    struct student
    {
    char num[6];
    char name[8];
    int score[4];
    int avr;
    }stu[N];
    int r;
    
    int main()
    {
      int sum3=0,sum1=0,sum2=0,maxi;
      int sum;
      int max;
      scanf("%d",&r);
      int i,j;
      for(i=0;i<r;i++)
      {
       scanf("%s%s",stu[i].num,stu[i].name);
       for(j=0;j<3;j++)
       {
        scanf("%d",&stu[i].score[j]);
       }
    
    }
    
    max=0;
    maxi=0;
     for(i=0;i<r;i++)
     {
      sum=0;
      sum1+=stu[i].score[0];
      sum2+=stu[i].score[1];
      sum3+=stu[i].score[2];
      for(j=0;j<3;j++)
        sum+=stu[i].score[j];
      stu[i].avr=sum/3;
      
      if(sum>max)
      {
      max=sum;
      maxi=i;
      }
    
     }
    printf("%d %d %d",sum1/r,sum2/r,sum3/r);
    putchar('\n');
    
    printf("%s %s %d %d %d",stu[maxi].num,stu[maxi].name,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2]);
    
    
    return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		int num = input.nextInt();
    		String[] str1 = new String[num], str2 = new String[num];
    		int[][] n = new int[3][num];
    		int count = 0, tem = 0, x = 0;
    		for (int i = 0; i < num; i++) {
    			str1[i] = input.next(); str2[i] = input.next();		
    			n[0][i] = input.nextInt(); n[1][i] = input.nextInt(); n[2][i] = input.nextInt();
    			tem = n[0][i] + n[1][i] + n[2][i];
    			if (i == 0 || count < tem) {
    				count = tem;
    				x = i;
    			}
    		}
    		input.close();
    		int[] out = new int[3];
    		for (int i = 0; i < 3; i++) {
    			out[i] = 0;
    			for (int j = 0; j < num; j++) {
    				out[i] += n[i][j];
    			}
    			out[i] /= num;
    			if (i == 2) {
    				System.out.println(out[i]);
    			}else {
    				System.out.print(out[i] + " ");			
    			}
    		}
    		System.out.println(str1[x] + " " + str2[x] + " " + n[0][x] + " " + n[1][x] + " " + n[2][x]);		
    	}
    }
    

    Python :

    n = input()
    def f(x):
        if ord(x[0]) < 90:
            return int(x)
    
        return x
    a =[ map(f, raw_input().split()) for i in range(n)]
    print sum([x[2] for x in a])/n,sum([x[3] for x in a])/n,sum([x[4] for x in a])/n
    maxx=max([sum(x[2:]) for x in a])
    c=0
    for i in  [sum(x[2:]) for x in a]:
        if i ==maxx:
            break
        c+=1
    print str(a[c]).replace(', ',' ').replace('\'','')[1:-1]+' '
    

    C语言程序设计教程(第三版)课后习题11.5

    信息

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