使用函数的选择排序:输入一个正整数n(0<n<10),再输入n个整数存入数组a中,使用选择法对数组a中的元素升序排序后输出。自定义一个函数void sort(int a[],int n),用于排序数组a中的元素,自定义主函数,并在其中调用sort()函数。用C语言编写程序
时间: 2025-01-13 16:06:07 浏览: 37
以下是一个使用C语言编写的选择排序程序,包含自定义的排序函数和主函数:
```c
#include <stdio.h>
// 自定义排序函数
void sort(int a[], int n) {
int i, j, min_idx, temp;
// 一一遍历数组元素
for (i = 0; i < n-1; i++) {
// 找到剩余未排序部分的最小元素索引
min_idx = i;
for (j = i+1; j < n; j++)
if (a[j] < a[min_idx])
min_idx = j;
// 交换找到的最小元素与当前元素
if (min_idx != i) {
temp = a[i];
a[i] = a[min_idx];
a[min_idx] = temp;
}
}
}
int main() {
int n, i;
// 输入数组大小
printf("请输入一个正整数n(0<n<10):");
scanf("%d", &n);
// 检查输入是否合法
if (n <= 0 || n >= 10) {
printf("输入的n不合法!\n");
return 1;
}
int a[n];
// 输入数组元素
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 调用排序函数
sort(a, n);
// 输出排序后的结果
printf("排序后的结果为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这个程序的工作流程如下:
1. 定义`sort`函数,使用选择排序算法对数组进行升序排序。
2. 在`main`函数中,首先提示用户输入一个正整数n(0<n<10)。
3. 检查输入的n是否合法,如果不合法则输出错误信息并退出程序。
4. 声明一个大小为n的整数数组a。
5. 提示用户输入n个整数,并将输入的值存入数组a中。
6. 调用`sort`函数对数组a进行排序。
7. 输出排序后的结果。
阅读全文
相关推荐
















