/*
排序前:
One-1 Two-2 Three-3 Four-4 Five-5 Six-6 Seven-7 Eight-8 Nine-9 Ten-10
排序后:
Two-2 Three-3 Ten-10 Six-6 Seven-7 One-1 Nine-9 Four-4 Five-5 Eight-8
Press any key to continue
*/
#include <stdio.h>
#include <string.h>
void sort(char *a[],int n) { // 选择排序
char *temp;
int i,j,k;
for(i = 0;i < n - 1;i++) {
k = i;
for(j = i + 1;j < n;j++)
if(strcmp(a[k],a[j]) < 0) k = j;
if(k != i) { // 交换的是字符串的地址,不是字符串的内容
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
int main() {
int i,n = 10;
char *s[] = {"One-1","Two-2","Three-3","Four-4","Five-5","Six-6","Seven-7","Eight-8","Nine-9","Ten-10"};
printf("排序前:\n");
for(i = 0;i < n;i++) printf("%s ",s[i]);
printf("\n\n");
sort(s,n);
printf("排序后:\n");
for(i = 0;i < n;i++) printf("%s ",s[i]);
printf("\n\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考