C语言输入n个(不超过20)整数并存入数组,要求用选择法从小到大排序。其中,排序用函数sort(int *a, int n)来完成;主函数须包括数组的输入、sort函数调用及结果输出。
时间: 2024-03-17 12:40:21 浏览: 66
好的,我明白你的问题了。以下是参考的 C 语言代码实现:
```c
#include <stdio.h>
void sort(int *a, int n);
int main() {
int n, arr[20];
printf("请输入数的个数(不超过20):");
scanf("%d", &n);
printf("请输入这%d个数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
sort(arr, n);
printf("排序后的结果为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void sort(int *a, int n) {
int i, j, k, t;
for (i = 0; i < n - 1; i++) {
k = i;
for (j = i + 1; j < n; j++) {
if (a[j] < a[k]) {
k = j;
}
}
if (k != i) {
t = a[k];
a[k] = a[i];
a[i] = t;
}
}
}
```
以上代码中,函数 `sort` 实现了选择排序,主函数中输入了需要排序的数值,并调用 `sort` 函数完成排序,最后将排序后的结果输出。
阅读全文