用c++ 定义学生类,数据成员包含基本信息(姓名,学号,语文,外语,数学成绩),主函数声明10个学生类数组,并完成初始化,利用上节课学习内容,定义函数输出班级各科最高分与平均分
时间: 2023-05-11 09:07:39 浏览: 154
好的,我可以回答这个问题。以下是用 C 定义学生类并完成初始化的代码:
```c
#include <stdio.h>
// 定义学生类
struct Student {
char name[20]; // 姓名
int id; // 学号
int chinese; // 语文成绩
int english; // 外语成绩
int math; // 数学成绩
};
int main() {
// 声明10个学生类数组,并完成初始化
struct Student students[10] = {
{"张三", 1001, 90, 80, 85},
{"李四", 1002, 85, 90, 95},
{"王五", 1003, 95, 85, 90},
{"赵六", 1004, 80, 95, 85},
{"钱七", 1005, 90, 90, 80},
{"孙八", 1006, 85, 85, 95},
{"周九", 1007, 95, 80, 90},
{"吴十", 1008, 80, 95, 85},
{"郑十一", 1009, 90, 90, 90},
{"冯十二", 1010, 85, 85, 85}
};
// 定义变量存储各科最高分
int max_chinese = 0, max_english = 0, max_math = 0;
// 定义变量存储各科总分
int sum_chinese = 0, sum_english = 0, sum_math = 0;
// 计算各科最高分和总分
for (int i = 0; i < 10; i++) {
if (students[i].chinese > max_chinese) {
max_chinese = students[i].chinese;
}
if (students[i].english > max_english) {
max_english = students[i].english;
}
if (students[i].math > max_math) {
max_math = students[i].math;
}
sum_chinese += students[i].chinese;
sum_english += students[i].english;
sum_math += students[i].math;
}
// 计算各科平均分
float avg_chinese = (float)sum_chinese / 10;
float avg_english = (float)sum_english / 10;
float avg_math = (float)sum_math / 10;
// 输出各科最高分和平均分
printf("语文最高分:%d,平均分:%.2f\n", max_chinese, avg_chinese);
printf("外语最高分:%d,平均分:%.2f\n", max_english, avg_english);
printf("数学最高分:%d,平均分:%.2f\n", max_math, avg_math);
return 0;
}
```
希望这个回答能够帮到你!
阅读全文