编写一个c++程序,设计一个组函数,用于输入5名学生的学号、姓名、高数成绩、英语成绩、计算机成绩,并能输出这5个学生的基本信息,还能计算学生的高数课的平时成绩、最高分和最低分
时间: 2023-12-16 09:14:45 浏览: 83
#include <stdio.h>
#include <string.h>
// 学生信息结构体
struct student {
int id; // 学号
char name[20]; // 姓名
float math; // 高数成绩
float english; // 英语成绩
float computer; // 计算机成绩
};
// 计算学生高数课的平时成绩、最高分和最低分
void math_score(struct student students[], int n, float *average, float *max, float *min) {
float sum = 0;
*max = students[0].math;
*min = students[0].math;
for (int i = 0; i < n; i++) {
sum += students[i].math;
if (students[i].math > *max) {
*max = students[i].math;
}
if (students[i].math < *min) {
*min = students[i].math;
}
}
*average = sum / n;
}
int main() {
struct student students[5]; // 定义包含5个学生的结构体数组
float average, max, min;
// 输入学生信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d名学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("高数成绩:");
scanf("%f", &students[i].math);
printf("英语成绩:");
scanf("%f", &students[i].english);
printf("计算机成绩:");
scanf("%f", &students[i].computer);
}
// 输出学生信息
printf("\n学生信息如下:\n");
printf("学号\t姓名\t高数\t英语\t计算机\n");
for (int i = 0; i < 5; i++) {
printf("%d\t%s\t%.2f\t%.2f\t%.2f\n", students[i].id, students[i].name, students[i].math, students[i].english, students[i].computer);
}
// 计算学生高数课的平时成绩、最高分和最低分
math_score(students, 5, &average, &max, &min);
printf("\n高数课的平均分为:%.2f,最高分为:%.2f,最低分为:%.2f\n", average, max, min);
return 0;
}
阅读全文