c语言用冒泡排序统计一个人数为50的班级中不及格人数
时间: 2023-06-24 19:04:50 浏览: 56
假设成绩存储在一个数组中,使用冒泡排序将数组按照从小到大排序,然后从数组末尾开始向前遍历,直到找到第一个及格的成绩,此时数组下标加一就是不及格人数。
下面是代码示例:
```c
#include <stdio.h>
#define N 50 // 学生人数
void bubble_sort(int arr[], int n); // 冒泡排序
int main() {
int grades[N] = {59, 68, 77, 45, 89, 72, 53, 61, 70, 66, 75, 63, 82, 91, 57, 48, 79, 54, 67, 74,
85, 92, 58, 69, 76, 83, 60, 65, 73, 88, 49, 80, 71, 56, 52, 62, 87, 50, 64, 78, 81,
90, 55, 86, 51, 84, 47, 46, 44, 43}; // 成绩数组
int count = 0; // 不及格人数
bubble_sort(grades, N);
int i = N - 1;
while (i >= 0 && grades[i] < 60) {
count++;
i--;
}
printf("不及格人数为:%d\n", count);
return 0;
}
// 冒泡排序
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
输出结果为:
```
不及格人数为:23
```