# 6-2 按等级统计学生成绩 本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。 ### 函数接口定义: ```c++ int set_grade( struct student *p, int n ); ``` 其中`p`是指向学生信息的结构体数组的指针,该结构体的定义为: ``` struct student{ int num; char name[20]; int score; char grade; }; ``` `n`是数组元素个数。学号`num`、姓名`name`和成绩`score`均是已经存储好的。`set_grade`函数需要根据学生的成绩`score`设置其等级`grade`。等级设置:85-100为A,70-84为B,60-69为C,0-59为D。同时,`set_grade`还需要返回不及格的人数。 ### 裁判测试程序样例: ```c++ #include #define MAXN 10 struct student{ int num; char name[20]; int score; char grade; }; int set_grade( struct student *p, int n ); int main() { struct student stu[MAXN], *ptr; int n, i, count; ptr = stu; scanf("%d\n", &n); for(i = 0; i < n; i++){ scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score); } count = set_grade(ptr, n); printf("The count for failed (<60): %d\n", count); printf("The grades:\n"); for(i = 0; i < n; i++) printf("%d %s %c\n", stu[i].num, stu[i].name, stu[i].grade); return 0; } /* 你的代码将被嵌在这里 */ ``` ### 输入样例: ```in 10 31001 annie 85 31002 bonny 75 31003 carol 70 31004 dan 84 31005 susan 90 31006 paul 69 31007 pam 60 31008 apple 50 31009 nancy 100 31010 bob 78 ``` ### 输出样例: ```out The count for failed (<60): 1 The grades: 31001 annie A 31002 bonny B 31003 carol B 31004 dan B 31005 susan A 31006 paul C 31007 pam C 31008 apple D 31009 nancy A 31010 bob B ```