makabaka qaq 2022-04-21 15:38 采纳率: 92.9%
浏览 56
已结题

改进统计成绩例题:将学生的学号、三门成绩、总分、平均分均放在数组a[30][6]中,标志仍放在grade[30] 。请完成相同的功能。

改进统计成绩例题:将学生的学号、三门成绩、总分、平均分均放在数组a[30][6]中,标志仍放在grade[30] 。请完成相同的功能。

  • 写回答

3条回答 默认 最新

  • 关注

    标志是啥意思,根据平均成绩得到的A-E的等级吗?
    参考如下代码:

    #include <iostream>
    using namespace std;
    
    
    void input(int a[][6],int n)
    {
        for (int i = 0; i < n; i++)
        {
            cout << "请输入学生" << i + 1 << "的学号:";
            cin >> a[i][0];
            cout << "请输入学生" << i + 1 << "的三门课成绩,以空格分隔:";
            a[i][4] = 0;
            for (int j = 1; j <= 3; j++)
            {
                cin >> a[i][j];
                a[i][4] += a[i][j]; //计算总分
            }
            a[i][5] = a[i][4] / 3;//计算平均分
            
    
        }
    }
    
    void comp(int a[][6], int n, char grade[])
    {
        for (int i = 0; i < n; i++)
        {
            //根据平均分得出标志
            if (a[i][5] >= 90)
                grade[i] = 'Y';
            else
                grade[i] = 'N';
        }
    }
    
    
    int main()
    {
        int a[30][6]; //这里用int也可以,int类型无法保留小数
        char grade[30];
        int n;
        cout << "请输入学生人数 n:";
        cin >> n;
    
        //输入
        input(a, n);
        //计算标志
        comp(a, n, grade);
        //输出信息:共6列
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < 5; j++) //输出 学号  3门课成绩 总分 
                cout << a[i][j] << " "; //输出标志
            cout << grade[i] << endl;
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月21日