#include <stdlib.h> void sort(int a[],int n) { /Program/ int i,j,tem; for(i=0;i<n;i++) { for(j=0;j<n-1;j++) { if(a[j]<a[j+1]) tem = a[j]; a[j] = a[j+1]; a[j+1] = tem; } } /********** End **********/ } int main() { int a[13],i; for(i=0;i<13;i++) a[i]=random(20)-5; for(i=0;i<13;i++) printf("%3d",a[i]); printf("\n-------------------\n"); sort(a,13); for(i=0;i<13;i++) printf("%3d",a[i]); }改为选择排序法
时间: 2023-12-06 11:41:53 浏览: 22
#include <stdlib.h>
void sort(int a[], int n) {
int i, j, maxIndex;
for (i = 0; i < n - 1; i++) {
maxIndex = i;
for (j = i + 1; j < n; j++) {
if (a[j] > a[maxIndex]) {
maxIndex = j;
}
}
if (maxIndex != i) {
int temp = a[i];
a[i] = a[maxIndex];
a[maxIndex] = temp;
}
}
}
int main() {
int a[13], i;
for (i = 0; i < 13; i++) {
a[i] = random(20) - 5;
}
for (i = 0; i < 13; i++) {
printf("%3d", a[i]);
}
printf("\n-------------------\n");
sort(a, 13);
for (i = 0; i < 13; i++) {
printf("%3d", a[i]);
}
return 0;
}