1929. C语言谭浩强第3版-习题11.5

时间限制:1Sec内存限制:128MB通过:4提交:8

C语言谭浩强版

题目描述

有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

输入

学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。

输出

各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)

样例输入

2
1 blue 90 80 70
b clan 80 70 60

样例输出

85 75 65
1 blue 90 80 70

#include <bits/stdc++.h>
using namespace std;
    struct chenji
    {
        char xue[105];
        char name[105];
        int k1;
        int k2;
        int k3;
    };
void input(struct chenji s1[],int x)
{
    for(int i=0;i<x;i++)
    {
        scanf("%s %s %d %d %d",&s1[i].xue,&s1[i].name,&s1[i].k1,&s1[i].k2,&s1[i].k3);
    }
}
void output(struct chenji s1[],int x)
{
    int a1=0,a2=0,a3=0;
    for(int i=0;i<x;i++)
    {
        a1+=s1[i].k1;
        a2+=s1[i].k2;
        a3+=s1[i].k3;
    }
    cout<<a1/x<<" "<<a2/x<<" "<<a3/x<<endl;
    int minx[105],max1;
    for(int i=0;i<x;i++)
    {
        minx[i]=s1[i].k1+s1[i].k2+s1[i].k3;
    }
    max1=minx[0];
    int o;
    for(int i=0;i<x;i++)
    {
        if(max1<minx[i])
        {
            max1=minx[i];
            o=i;
        }
    }
    cout<<s1[o].xue<<" "<<s1[o].name<<" "<<s1[o].k1<<" "<<s1[o].k2<<" "<<s1[o].k3;
}
int main()
{
    struct chenji s1[105];
    int x;
    cin>>x;
    input(s1,x);
    output(s1,x);
}


おすすめ

転載: blog.csdn.net/weixin_52908342/article/details/119886138