#include
#include
#define N 5 //定义符号常量
#define MAX_LEN 100 //字符串最大长度
void selectSort(char (*pt)[MAX_LEN],int n) //形参pt为指向二维字符数组的指针
{
int i,j,k;
char tmp[MAX_LEN]; //临时字符数组
for(i=0;i{
k=i; //变量k存放当前最小字符串的下标
for(j=i+1;jif(strcmp(pt[k],pt[j]) > 0) //字符串进行两两大小比较,如果>0,则执行if语句体
k=j; //将当前最小的字符串的数组下标赋值给变量k
if(k != i) //如果k不等于i,则执行if语句体
{ //两个字符串进行交换操作
strcpy(tmp,pt[k]);
strcpy(pt[k],pt[i]);
strcpy(pt[i],tmp);
}
}
}
int main()
{
char str[N][MAX_LEN]; //定义二维字符数组
int i;
printf("输入字符串:\n");
for(i=0;iscanf("%s",str[i]);
selectSort(str,N); //调用选择排序函数
printf("输出排序后的字符串:\n");
for(i=0;iprintf("%s\n",str[i]);
return 0;
}
#include
#include
#include
void selectsort(char a[][20],int n)
{
int i,z,j;
char x[20];
for(i=0;i
z=i;
for(j=i+1;j
{
strcpy(x,a[i]);
strcpy(a[i],a[z]);
strcpy(a[z],x);
}
}
}
int main()
{
int i;
char str[5][20]=
{
"China",
"Janpan",
"USA",
"French",
"British"
};
printf("The string array:\n");
for(i = 0;i < 5;i++)
printf("%s\n",str[i]);
selectsort(str,5);
printf("After sort the string array:\n");
for(i = 0;i < 5;i++)
printf("%s\n",str[i]);
system("PAUSE");
return 0;
}