//选择排序法 #include <stdlib.h> #include <stdio.h> void main() { int a[10]; //初始化数组 for (int i = 0; i < 10; i++) { a[i] = rand() % 10; } //打印数组 for (int i = 0; i < 10; i++) { printf("%4d", a[i]); } printf(" "); //min保存最小的元素下标 int min = 0; //选择排序法 for (int i = 0; i < 10; i++) { min = i; //遍历找出最小的数组元素下标 for (int j = i + 1; j < 10; j++) { if (a[j] < a[min]) { min = j; } } //如果找到,则交换 if (min != i) { int tmp = a[i]; a[i] = a[min]; a[min] = tmp; } } //打印出排序后的结果 for (int i = 0; i < 10; i++) { printf("%4d", a[i]); } printf(" "); system("pause"); }