用C语言实现如下:输入任意6个整数,分别使用选择法(要求使用函数void sort_c(int *a,int n))进行排序(由小到大),和冒泡法(要求使用函数void sort_b(int *a,int n))进行排序(由大到小),并输出。
时间: 2024-01-22 13:17:36 浏览: 129
归并排序 输入所要排序的整数,进行排序,C语言
4星 · 用户满意度95%
以下是实现代码:
```c
#include <stdio.h>
void sort_c(int *a, int n);
void sort_b(int *a, int n);
int main() {
int arr[6];
printf("请输入6个整数:\n");
for (int i = 0; i < 6; i++) {
scanf("%d", &arr[i]);
}
sort_c(arr, 6);
printf("选择排序结果(由小到大):\n");
for (int i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
printf("\n");
sort_b(arr, 6);
printf("冒泡排序结果(由大到小):\n");
for (int i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void sort_c(int *a, int n) {
int temp;
for (int i = 0; i < n - 1; i++) {
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[min_idx]) {
min_idx = j;
}
}
temp = a[i];
a[i] = a[min_idx];
a[min_idx] = temp;
}
}
void sort_b(int *a, int n) {
int temp;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
```
程序先读入6个整数,然后分别使用选择排序和冒泡排序进行排序,并输出结果。其中,`sort_c`函数实现选择排序(由小到大),`sort_b`函数实现冒泡排序(由大到小)。
阅读全文