用c语言编写函数,功能是将10个学生成绩从高分到低分排序,并统计优秀与不及格的人数。函数形式为: int fun(int s[],int *x); /*s为学生成绩数组,*x为不及格人数,返回优秀的人数*/
时间: 2024-03-25 12:38:14 浏览: 158
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
5星 · 资源好评率100%
下面是用C语言编写的函数,实现将10个学生成绩从高分到低分排序,并统计优秀与不及格的人数。
```c
int fun(int s[], int *x) {
int excellent = 0; // 优秀人数
*x = 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;
}
}
}
// 统计优秀与不及格人数
for (int i = 0; i < 10; i++) {
if (s[i] >= 90) {
excellent++;
} else if (s[i] < 60) {
(*x)++;
}
}
return excellent;
}
```
使用方法:
```c
int main() {
int s[10] = {80, 85, 90, 75, 70, 65, 60, 55, 50, 45};
int not_pass, excellent;
excellent = fun(s, ¬_pass);
printf("优秀人数:%d\n", excellent);
printf("不及格人数:%d\n", not_pass);
printf("排序后的成绩:");
for (int i = 0; i < 10; i++) {
printf("%d ", s[i]);
}
return 0;
}
```
输出结果:
```
优秀人数:3
不及格人数:4
排序后的成绩:90 85 80 75 70 65 60 55 50 45
```
阅读全文