用c++编写设有30个学生参加考试学号由1到30。分别编写以下函数 1将考试成绩大于85分的学生的学号和成绩输出; 2将60分以下的学生的学号和成绩输出; 3统计大于或等于平均分的人数。 4将30个学生成绩按由高分到低分排列输出排列好的成绩及每个成绩对应的学号。
#include
struct Student { int id; int score; };
bool cmp(Student a, Student b) { return a.score > b.score; }
void printHighScore(Student students[], int n) { cout << "High score students: " << endl; for (int i = 0; i < n; i++) { if (students[i].score > 85) { cout << "ID: " << students[i].id << ", Score: " << students[i].score << endl; } } }
void printLowScore(Student students[], int n) { cout << "Low score students: " << endl; for (int i = 0; i < n; i++) { if (students[i].score < 60) { cout << "ID: " << students[i].id << ", Score: " << students[i].score << endl; } } }
void printAboveAverage(Student students[], int n) { int sum = 0; for (int i = 0; i < n; i++) { sum += students[i].score; } double average = (double)sum / n; int count = 0; for (int i = 0; i < n; i++) { if (students[i].score >= average) { count++; } } cout << "Number of students above average: " << count << endl; }
void printSortedScore(Student students[], int n) { sort(students, students + n, cmp); cout << "Sorted scores: " << endl; for (int i = 0; i < n; i++) { cout << "ID: " << students[i].id << ", Score: " << students[i].score << endl; } }
int main() { Student students[30]; for (int i = 0; i < 30; i++) { students[i].id = i + 1; students[i].score = rand() % 101; }
printHighScore(students, 30);
cout << endl;
printLowScore(students, 30);
cout << endl;
printAboveAverage(students, 30);
cout << endl;
printSortedScore(students, 30);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/bZnG 著作权归作者所有。请勿转载和采集!