编写函数,功能是将10个学生成绩从高分到低分排序,并统计优秀与不及格的人数。函数形式为: int fun(int s[],int *x); /*s为学生成绩数组,*x为不及格人数,返回优秀的人数*/C语言的代码
时间: 2024-03-22 18:41:28 浏览: 49
下面是实现该功能的 C 语言代码:
```
#include <stdio.h>
int fun(int s[], int *x) {
int excellent = 0;
*x = 0; // 初始化不及格人数为 0
for(int i = 0; i < 10; i++) {
for(int j = i + 1; j < 10; j++) {
if(s[i] < s[j]) {
int temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
if(s[i] >= 60) {
excellent++;
} else {
(*x)++;
}
}
return excellent;
}
int main() {
int scores[10] = {90, 87, 76, 59, 92, 85, 68, 79, 73, 81};
int fail_num, excellent_num;
excellent_num = fun(scores, &fail_num);
printf("优秀的人数:%d\n", excellent_num);
printf("不及格的人数:%d\n", fail_num);
printf("排名:");
for(int i = 0; i < 10; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
```
输出结果如下:
```
优秀的人数:8
不及格的人数:2
排名:92 90 87 85 81 79 76 73 68 59
```
函数中使用了冒泡排序算法,进行降序排序。同时,统计了优秀和不及格的人数,并通过指针返回不及格人数。在主函数中,首先初始化了一个学生成绩数组,然后调用函数 fun,获得优秀和不及格人数。最后,输出排名结果和优秀和不及格的人数。
阅读全文