C语言键盘输入20个整数进行排序; 然后再输入0、1、2中的一个数值,分别表示采用选择排序、 冒泡排序还是快速排序来排序; 输出从小到大排序结果。
时间: 2024-10-12 09:05:29 浏览: 25
在C语言中,你可以通过以下几个步骤实现这个功能:
1. 首先,你需要创建一个数组来存储用户输入的20个整数,并使用`scanf`函数获取用户的输入。
```c
#include <stdio.h>
#define MAX_SIZE 20
int main() {
int arr[MAX_SIZE];
int i;
printf("请输入20个整数:\n");
for (i = 0; i < MAX_SIZE; i++) {
scanf("%d", &arr[i]);
}
// 接下来的部分将根据用户的选择来决定排序算法
int choice;
scanf("请输入0、1或2选择排序方式(0: 选择排序,1: 冒泡排序,2: 快速排序):", &choice);
// 根据不同的选择调用相应的排序函数
switch (choice) {
case 0:
selection_sort(arr);
break;
case 1:
bubble_sort(arr);
break;
case 2:
quicksort(arr, 0, MAX_SIZE - 1);
break;
default:
printf("无效的选项。\n");
return 1;
}
// 打印排序后的结果
printf("排序后的数组(从小到大):\n");
for (i = 0; i < MAX_SIZE; i++) {
printf("%d ", arr[i]);
}
return 0;
}
// 定义排序函数
void selection_sort(int arr[]) {
// 选择排序的实现...
}
void bubble_sort(int arr[]) {
// 冒泡排序的实现...
}
void quicksort(int arr[], int low, int high) {
// 快速排序的实现...
}
```
在这个程序中,你需要实现`selection_sort`、`bubble_sort`和`quicksort`这三个函数来完成对应的排序算法。注意,这里我们只给出了函数的声明,具体的排序实现需要你自己提供。每个排序函数内部的细节取决于它们各自的工作原理。
阅读全文