用c++实现下面问题:题目描述 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针做函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号及最高成绩。 输入格式 5个学生的学号和成绩 输出格式 成绩最高者的学号和成绩 样例输入content_copy 101 78.5 102 85.5 103 98.5 104 100 105 95.5 样例输出content_copy 104 100
时间: 2023-05-21 16:04:25 浏览: 433
以下是 C 代码实现:
#include <stdio.h>
#include <stdlib.h>
// 定义学生结构体
typedef struct {
int id; // 学号
float score; // 成绩
} Student;
// 找出成绩最高的学生
void max(Student *students, int n) {
int i;
float max_score = students[0].score;
int max_id = students[0].id;
for (i = 1; i < n; i++) {
if (students[i].score > max_score) {
max_score = students[i].score;
max_id = students[i].id;
}
}
printf("%d %0.1f", max_id, max_score); // 输出最高成绩学生的学号和成绩
}
int main() {
Student students[5]; // 创建长度为5的学生数组
int i;
for (i = 0; i < 5; i++) {
scanf("%d %f", &students[i].id, &students[i].score); // 输入学生的学号和成绩
}
max(students, 5); // 调用max函数找出成绩最高的学生
return 0;
}
如果您有任何问题或疑虑,请告诉我。
阅读全文