#include<stdio.h>
#include<string.h>
#define ROW 5
#define COL 80
void sortString01(char (*pName)[COL]);
void sortString02(char **ppnames);
int main(void)
{
int i;
char names[ROW][COL];
char *ppname[ROW];
printf("Please Input %d names:\n", ROW);
for(i = 0 ; i < ROW ; i ++)
{
gets(names[i]);
}
for(i = 0 ; i < ROW ; i ++)
{
ppname[i] = names[i];
}
sortString01(names);
printf("After 01 Names:\n");
for(i = 0 ; i < ROW ; i ++)
{
puts(names[i]);
}
sortString02(ppname);
printf("After 02 Names:\n");
for(i = 0 ; i < ROW ; i ++)
{
puts(ppname[i]);
}
return 0;
}
void sortString01(char (*pName)[COL])
{
int i, j;
char temp[COL];
for(i = 1 ; i < ROW; i ++)
{
for(j = 0 ; j < ROW - i ; j ++)
{
if(strcmp(pName[j], pName[j + 1]) > 0 )
{
strcpy(temp, pName[j]);
strcpy(pName[j], pName[j + 1]);
strcpy(pName[j + 1], temp);
}
}
}
}
void sortString02(char **ppnames)
{
int i,j;
char *temp = NULL;
for(i = 1 ; i < ROW ; i ++)
{
for(j = 0 ; j < ROW -i ; j ++)
{
if(strcmp(ppnames[j], ppnames[j + 1]) < 0)
{
temp = ppnames[j];
ppnames[j] = ppnames[j + 1];
ppnames[j + 1] = temp;
}
}
}
}