1 solutions

  • 0
    @ 2025-11-5 17:51:10

    C++ :

    #include<iostream>
    #include<string>
    #include<cstdio>
    using namespace std;
    struct student{
    	string num;
    	string name;
    	int score[3];
    	double average;
    };
    student a[10000];
    int ave[3];
    void input(student a[],int n)
    {
    	for (int i=0; i<n; i++)
    	{
    		cin>>a[i].num>>a[i].name>>a[i].score[0]>>a[i].score[1]>>a[i].score[2];
    		a[i].average=(a[i].score[0]+a[i].score[1]+a[i].score[2])/3;
    		ave[0]+=a[i].score[0];
    		ave[1]+=a[i].score[1];
    		ave[2]+=a[i].score[2];
    	}
    	for (int i=0; i<3; i++) ave[i]/=n;
    }
    int find(student a[],int n)
    {
    	int maxt=0;
    	for (int i=1; i<n; i++)
    		if (a[i].average>a[maxt].average) maxt=i;
    	return maxt;
    }
    int main()
    {
    	int n;
    	cin>>n;
    	input(a,n);
    	printf("%d %d %d\n",ave[0],ave[1],ave[2]);
    	int t=find(a,n);
    	cout<<a[t].num<<" "<<a[t].name<<" "<<a[t].score[0]<<" "<<a[t].score[1]<<" "<<a[t].score[2]<<endl;
    	return 0;
    }
    
    • 1

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

    Information

    ID
    18628
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By