






#include <stdio.h>
#include <string.h>
const int N = 5;
void selectSort(char str[][20], int n ); // 函数声明,形参str是二维数组名
int main() {
char name[][20] = {"Bob", "Bill", "Joseph", "Taylor", "George"};
int i;
printf("输出初始名单:\n");
for(i=0; i<N; i++)
printf("%s\n", name[i]);
selectSort(name, N); // 调用选择法对name数组中的字符串排序
printf("按字典序输出名单:\n");
for(i=0; i<N; i++)
printf("%s\n", name[i]);
return 0;
}
// 函数定义
// 函数功能描述:使用选择法对二维数组str中的n个字符串按字典序排序
void selectSort(char str[][20], int n) {
int k,i,j,sign;
char temp[20]=" ";
for(i=0;i<=n;i++)
{k=i;
{for(j=i+1;j<n;j++)
sign=strcmp(str[j],str[k]);
if(sign<0){
k=j;
}
}
if(k!=i){
strcpy(temp,str[i]);
strcpy(str[i],str[k]);
strcpy(str[k],temp);
}
}
}
原文:https://www.cnblogs.com/YUyu0804/p/14128029.html