# 6-3 学生成绩比高低 学生结构体定义如下: ``` struct Student{ int sid; int C; int English; }; ``` 其中`sid`是学号,`C`是C语言课程成绩,`English`是英语课程成绩。学生的成绩按照这样的规则比较:
* 先比较两门课的总成绩,总成绩高的为优; * 若总成绩相同,再比较C语言成绩,C语言成绩高的为优; * 若C语言成绩也相同,则说明两名学生成绩相等。 编写函数实现成绩的比较。 ### 函数接口定义: ```c int compareScore(const struct Student *s1, const struct Student *s2); ``` 其中`s1`和`s2`是传入的参数,分别指向两名学生的结构体变量。函数返回值为`int`型,
* 若`s1`所指学生成绩优于`s2`所指学生,返回`1`; * 若`s2`所指学生成绩优于`s1`所指学生,返回`-1`; * 若两学生成绩相等,返回`0`。 ### 裁判测试程序样例: ```c /* 此测试程序仅为示例,实际的测试程序可能不同。 注意:实际的测试程序可能有多组输入、进行多次比较,输入格式也有可能不同, 因此不要针对测试程序样例编写代码,而应当编写符合题目要求的函数 */ #include struct Student{ int sid; int C; int English; }; int compareScore(const struct Student *s1, const struct Student *s2); int main(){ struct Student zs, ls; scanf("%d%d%d", &zs.sid, &zs.C, &zs.English); scanf("%d%d%d", &ls.sid, &ls.C, &ls.English); int r; r = compareScore(&zs, &ls); if(r < 0) printf("Less\n"); else if(r > 0) printf("Greater\n"); else printf("Equal\n"); return 0; } /* 你所编写的函数代码将被嵌在这里 */ ``` ### 输入样例1: 对于样例测试程序的输入格式: ```in 1 95 90 2 90 91 ``` ### 输出样例1: 对于样例测试程序的输出格式: ```out Greater ``` ### 输入样例2: 对于样例测试程序的输入格式: ```in 1 90 95 2 95 90 ``` ### 输出样例2: 对于样例测试程序的输出格式: ```out Less ```