定义并测试一个名为Student的类,包括属性有“学号” “姓名”,以及3门课程“数学” “英语” “计算机”的成绩,包括的方法有计算3门课程的“总分”“平均分”“最高分”“最低分”。
时间: 2023-03-29 21:00:27 浏览: 112
好的,我可以回答这个问题。以下是定义并测试一个名为Student的类的代码:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
float math_score;
float english_score;
float computer_score;
};
void calculate_scores(struct Student s) {
float total_score = s.math_score + s.english_score + s.computer_score;
float average_score = total_score / 3;
float max_score = s.math_score;
float min_score = s.math_score;
if (s.english_score > max_score) {
max_score = s.english_score;
}
if (s.computer_score > max_score) {
max_score = s.computer_score;
}
if (s.english_score < min_score) {
min_score = s.english_score;
}
if (s.computer_score < min_score) {
min_score = s.computer_score;
}
printf("学号:%d\n", s.id);
printf("姓名:%s\n", s.name);
printf("数学成绩:%f\n", s.math_score);
printf("英语成绩:%f\n", s.english_score);
printf("计算机成绩:%f\n", s.computer_score);
printf("总分:%f\n", total_score);
printf("平均分:%f\n", average_score);
printf("最高分:%f\n", max_score);
printf("最低分:%f\n", min_score);
}
int main() {
struct Student s = { 1001, "张三", 80, 90, 85 };
calculate_scores(s);
return ;
}
```
以上代码定义了一个名为Student的结构体,包括学号、姓名和3门课程的成绩。然后定义了一个函数calculate_scores,用于计算总分、平均分、最高分和最低分,并输出结果。最后在main函数中创建一个Student对象,并调用calculate_scores函数进行测试。
输出结果如下:
```
学号:1001
姓名:张三
数学成绩:80.000000
英语成绩:90.000000
计算机成绩:85.000000
总分:255.000000
平均分:85.000000
最高分:90.000000
最低分:80.000000
```
阅读全文