#include <stdio.h>#include <malloc.h>void Select_sort(int *a, int len);
int main(void)
{
int i;
int len;
int * a;
printf("请输入要排的数的个数:");
scanf("%d",&len);
a = (int *)malloc(len * sizeof(int));//动态分配内存printf("请输入要排的数:\n");
for (i = 0; i < len; i++) { //要排的数的输入scanf("%d",&a[i]);
}
Select_sort(a, len);
printf("排序后的结果为:\n");
for (i = 0; i < len; i++) { //排序后结果的输出printf("%d\t",a[i]);
}
printf("\n");
return0;
}
void Select_sort(int *a, int len)//选择排序
{
int i;
int j;
int temp;
int min_num;
for (i = 0; i < len - 1; i++) {
min_num = i;
for (j = i + 1;j < len; j++) {
if (a[j] < a[i]) {
min_num = j; //存放当前最小值的下标
}
}
temp = a[i]; //交换两下标的值
a[i] = a[min_num];
a[min_num] = temp;
}
}