输入5个学生,4门课成绩,二维数组stu[5][4]表示,行标表示学生,列标表示课程成绩,分别编写函数aver()、fals()和well()完成:(1)求第一门课的平均分;(2)统计有2门以上(含2门)课程不及格的同学人数;(3)平均成绩在90分以上(含90分)或者全部课程成绩在85分以上(含85分)的同学视为优秀,统计人数,使用指针完成地址传递,主函数完成数组输入和输出。
时间: 2023-04-15 18:01:58 浏览: 85
主函数:
```c++
#include <iostream>
using namespace std;
void aver(int (*stu)[4]); // 求第一门课的平均分
void fals(int (*stu)[4]); // 统计有2门以上(含2门)课程不及格的同学人数
void well(int (*stu)[4]); // 统计平均成绩在90分以上(含90分)或者全部课程成绩在85分以上(含85分)的同学人数
int main() {
int stu[5][4];
cout << "请输入5个学生的4门课成绩:" << endl;
for (int i = ; i < 5; i++) {
for (int j = ; j < 4; j++) {
cin >> stu[i][j];
}
}
cout << "输入的成绩为:" << endl;
for (int i = ; i < 5; i++) {
for (int j = ; j < 4; j++) {
cout << stu[i][j] << " ";
}
cout << endl;
}
aver(stu);
fals(stu);
well(stu);
return ;
}
```
求第一门课的平均分:
```c++
void aver(int (*stu)[4]) {
int sum = ;
for (int i = ; i < 5; i++) {
sum += stu[i][];
}
double average = (double)sum / 5;
cout << "第一门课的平均分为:" << average << endl;
}
```
统计有2门以上(含2门)课程不及格的同学人数:
```c++
void fals(int (*stu)[4]) {
int count = ;
for (int i = ; i < 5; i++) {
int fail = ;
for (int j = ; j < 4; j++) {
if (stu[i][j] < 60) {
fail++;
}
}
if (fail >= 2) {
count++;
}
}
cout << "有2门以上课程不及格的同学人数为:" << count << endl;
}
```
统计平均成绩在90分以上(含90分)或者全部课程成绩在85分以上(含85分)的同学人数:
```c++
void well(int (*stu)[4]) {
int count = ;
for (int i = ; i < 5; i++) {
int sum = ;
bool flag = true;
for (int j = ; j < 4; j++) {
sum += stu[i][j];
if (stu[i][j] < 85) {
flag = false;
}
}
double average = (double)sum / 4;
if (average >= 90 || flag) {
count++;
}
}
cout << "平均成绩在90分以上或者全部课程成绩在85分以上的同学人数为:" << count << endl;
}
```
阅读全文