8.20

有10个学生,每个学生的数据包括学号、姓名以及英语、数学、物理三门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分学生的数据`

#include<iostream>

#include<string>

using namespace std;

const int n = 10;

struct student //定义结构体变量
{
    string name;

    int num;

    double score[3];

    double average;
}student1[n];

int main()
{
    int i, j;

    for ( i = 0; i < n; i++ )
    {
        cout << "请输入第" << i + 1 << "个学生的信息:";
        cin >> student1[i].num
            >> student1[i].name
            >> student1[i].score[0] >> student1[i].score[1] >> student1[i].score[2];
    }

    double sum = 0;

    //各学生的平均成绩
    for ( i = 0; i < n; i++ )
    {
        for ( j = 0; j < 3; j++ )
        {
            sum = sum + student1[i].score[j];
        }
        student1[i].average = sum / 3;

        sum = 0;
    }
    //打印出各学生的信息
    cout << "输出各学生信息:" << endl;

    for ( i = 0; i < n; i++ )
    {
        cout << student1[i].num << "  "

            << student1[i].name << "  "

            << student1[i].score[0] << "  " << student1[i].score[1] << "  " << student1[i].score[2] << "  "

            << student1[i].average

            << endl;
    }
    //找出成绩最高的那个学生并输出其信息
    double max = student1[0].average;

    int row = 0;

    for ( i = 0; i < n; i++ )
    {
        if ( max < student1[i].average )
        {
            max = student1[i].average;
        }

        row = i;
    }

    cout << "最高分的学生的数据:" << endl;

    cout << student1[row].num << "  "
        << student1[row].name << "  "
        << student1[row].score[0] << "  " << student1[row].score[1] << "  " << student1[row].score[2] << "  "
        << student1[row].average
        << endl;


    //各科平均成绩

    double average1[3];//定义一个装3门课的平均成绩的数组

    sum = 0;

    for ( j = 0; j < 3; j++ )
    {
        for ( i = 0; i < n; i++ )
        {
            sum = sum + student1[i].score[j];
        }

        average1[j] = sum / n;

        sum = 0;
    }

    cout << endl;

    for ( i = 0; i < 3; i++ )//输出各门课的平均成绩
    {
        cout << "第" << i + 1 << "门课的平均成绩:" << endl;

        cout << average1[i]

            << endl;
    }

    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值