c语言 输入n个不超过20的整数并存入数组,要求用选择法从小到大排序。其中,排序用函数sort(int *a,int n)
时间: 2024-03-17 12:41:46 浏览: 181
好的,我知道了。下面是代码:
```c
#include <stdio.h>
void sort(int *a, int n);
int main() {
int n;
printf("请输入数组的长度:");
scanf("%d", &n);
int a[n];
printf("请输入 %d 个整数:", n);
for(int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
sort(a, n);
printf("排序后的数组为:");
for(int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
void sort(int *a, int n) {
for(int i = 0; i < n - 1; i++) {
int min_index = i;
for(int j = i + 1; j < n; j++) {
if(a[j] < a[min_index]) {
min_index = j;
}
}
int temp = a[i];
a[i] = a[min_index];
a[min_index] = temp;
}
}
```
在该代码中,我们定义了一个 `sort` 函数来对数组进行选择排序。该函数的参数包括一个整型指针 `a` 和一个整数 `n`,分别表示待排序数组的首元素地址和长度。
在 `main` 函数中,我们首先读入数组的长度 `n`,然后声明一个长度为 `n` 的整型数组 `a`,并通过循环读入 `n` 个整数。
接下来,我们调用 `sort` 函数对数组进行排序,并通过循环输出排序后的结果。
值得注意的是,在 `sort` 函数中,我们使用了两层循环来实现选择排序的过程。在外层循环中,我们遍历数组中的所有元素,通过内层循环找到当前未排序部分中的最小值,并将其与当前元素进行交换。通过这样的方式,我们可以将最小值一个个地交换到数组的前面,从而实现排序的目的。
阅读全文
相关推荐
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)