指针数组题
											非常感谢,前次,关于时钟题诸位的回复.特别是版主的回复改得非常巧,就通了.
这是一道指针数组题,对输入的人的名字排序.但我找不到原因,为何排得不对,排出来不是英语字母顺序.
#include"stdio.h"
#define STUNUM 10
main()
{
 char name[STUNUM][20];
 char str[80];
 char *ps[STUNUM],*pt;
 int i,j,k,num;
 num=0;
 for(i=0;i<STUNUM;i++)
 {
  printf("input the name of the %dth student",i+1);
  gets(str);
  if(str[0]=='\0')
   break;
  if(strlen(str)>19)
  {
   i--;
   continue;
   }
   strcpy(name[i],str);
   num++;
  }
  for(i=0;i<num;i++)
   ps[i]=name[i];
  for(j=0;j<num-1;j++)
   {
    k=j;
    for(i=j+1;i<num;i++)
     if(strcmp(ps[i],ps[k]<0))
      k=i;
     if(k!=j)
      {
       pt=ps[k];
       ps[k]=ps[j];
       ps[j]=pt;
       }
     }
     printf("\nthe result:\n");
     for(i=0;i<num;i++)
      printf("%dth:%s\n",i+1,ps[i]);
  }

 
											





 
	     
											
