用基础c++语言编写一个c++程序:有一个班级30个学生5门课,编写函数实现下列功能:1.函数average()求第一门课的平均分。2.函数findfail()找出有2门以上(含2门))课程不及格的学生,输出其学号和全部课程成绩及平均成绩。3.函数findgood()找出平均成绩在90分以上或全部成绩在85分以上的学生.最后在主函数输入数据并输出结果
时间: 2024-02-24 20:58:02 浏览: 69
C语言程序设计-计算n门课程的平均值,计算结果作为函数值返回;例如:若有5门课程的成绩是:
5星 · 资源好评率100%
好的,这里给出一个实现该功能的C++程序:
```c++
#include <iostream>
using namespace std;
const int N = 30; // 学生数量
const int M = 5; // 课程数量
struct Student {
int id; // 学号
int score[M]; // 每门课的成绩
float avg_score; // 平均成绩
};
// 求第一门课的平均分
float average(Student stu[]) {
float sum = 0;
for (int i = 0; i < N; i++) {
sum += stu[i].score[0];
}
return sum / N;
}
// 找出有2门以上(含2门))课程不及格的学生
void findfail(Student stu[]) {
for (int i = 0; i < N; i++) {
int cnt = 0;
for (int j = 0; j < M; j++) {
if (stu[i].score[j] < 60) {
cnt++;
}
}
if (cnt >= 2) {
cout << "学号:" << stu[i].id << endl;
cout << "成绩:";
for (int j = 0; j < M; j++) {
cout << stu[i].score[j] << " ";
}
cout << endl;
cout << "平均成绩:" << stu[i].avg_score << endl;
}
}
}
// 找出平均成绩在90分以上或全部成绩在85分以上的学生
void findgood(Student stu[]) {
for (int i = 0; i < N; i++) {
if (stu[i].avg_score >= 90) {
cout << "学号:" << stu[i].id << endl;
cout << "成绩:";
for (int j = 0; j < M; j++) {
cout << stu[i].score[j] << " ";
}
cout << endl;
cout << "平均成绩:" << stu[i].avg_score << endl;
} else {
int cnt = 0;
for (int j = 0; j < M; j++) {
if (stu[i].score[j] >= 85) {
cnt++;
}
}
if (cnt == M) {
cout << "学号:" << stu[i].id << endl;
cout << "成绩:";
for (int j = 0; j < M; j++) {
cout << stu[i].score[j] << " ";
}
cout << endl;
cout << "平均成绩:" << stu[i].avg_score << endl;
}
}
}
}
int main() {
Student stu[N];
// 输入数据
for (int i = 0; i < N; i++) {
cout << "请输入第" << i+1 << "个学生的信息" << endl;
cout << "学号:";
cin >> stu[i].id;
cout << "成绩:";
for (int j = 0; j < M; j++) {
cin >> stu[i].score[j];
stu[i].avg_score += stu[i].score[j];
}
stu[i].avg_score /= M;
}
// 输出结果
cout << "第一门课的平均分:" << average(stu) << endl;
cout << "有2门以上(含2门))课程不及格的学生:" << endl;
findfail(stu);
cout << "平均成绩在90分以上或全部成绩在85分以上的学生:" << endl;
findgood(stu);
return 0;
}
```
这个程序定义了一个`Student`结构体,包含学号、每门课的成绩和平均成绩三个属性。`average()`、`findfail()`和`findgood()`分别实现了三个要求,并在主函数中输入数据并输出结果。
阅读全文