改进统计成绩例题:将学生的学号、三门成绩、总分、平均分均放在数组a[30][6]中,标志仍放在grade[30] 。请完成相同的功能。
标志是啥意思,根据平均成绩得到的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;
}
既然是改进,那你应该说明一下原先是什么样子啊,不然怎么改进......
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!