编写程序统计某班程序设计期末考试成绩,有最多不超过30人参加考试,编写程序使用选择排序算法,给班级的成绩进行排序,并在排好序的基础上,使用折半查找,找到某个成绩在数组的位置。C语言
时间: 2023-11-29 13:06:17 浏览: 33
好的,我可以为您编写这个程序。以下是代码:
```c
#include <stdio.h>
#define MAX_NUM 30
void selectionSort(int arr[], int n);
int binarySearch(int arr[], int n, int x);
int main() {
int scores[MAX_NUM];
int n, i, x;
printf("请输入参加考试的人数(不超过30):");
scanf("%d", &n);
printf("请输入每个人的成绩:\n");
for (i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
// 使用选择排序算法进行排序
selectionSort(scores, n);
printf("成绩排序结果:\n");
for (i = 0; i < n; i++) {
printf("%d ", scores[i]);
}
printf("\n");
// 使用折半查找算法查找某个成绩在数组中的位置
printf("请输入要查找的成绩:");
scanf("%d", &x);
int index = binarySearch(scores, n, x);
if (index == -1) {
printf("未找到该成绩\n");
} else {
printf("该成绩在数组中的位置为:%d\n", index);
}
return 0;
}
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
int binarySearch(int arr[], int n, int x) {
int low = 0, high = n - 1, mid;
while (low <= high) {
mid = (low + high) / 2;
if (arr[mid] == x) {
return mid;
} else if (arr[mid] < x) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1;
}
```
这个程序中,我们先输入参加考试的人数和每个人的成绩,然后使用选择排序算法对成绩进行排序,最后使用折半查找算法查找某个成绩在数组中的位置。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)