用switch结构
时间: 2023-07-18 11:19:38 浏览: 43
好的,下面是使用 `switch` 结构的 `set_grade` 函数实现:
```c
int set_grade(struct student *p, int n) {
int i, count = 0;
for (i = 0; i < n; i++) {
int score = p[i].score;
switch (score / 10) {
case 10:
case 9:
p[i].grade = 'A';
break;
case 8:
p[i].grade = 'B';
break;
case 7:
p[i].grade = 'C';
break;
case 6:
p[i].grade = 'D';
break;
default:
p[i].grade = 'E';
count++;
break;
}
}
return count;
}
```
这个函数遍历数组中的每个学生,对于每个学生,使用 `switch` 结构根据其成绩计算其等级,并将等级保存在 `grade` 字段中。如果学生的分数小于 60,就将 `count` 变量加一。最后返回 `count` 变量的值,表示不及格学生的数量。