#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