字符串排序问题
程序代码:
/************************* 编写程序,输入若干个字符串,以***为结束标志,并且在输出时按照英语字典的书序输出 ********************************/ #include"stdio.h" #include"string.h" #define COL 20 #define ROW 80 int readin(char str[][ROW]) //读入 { int i=0; printf("请输入第一个字符串:"); gets(str[i]); while(strcmp(str[i],"***")!=0) { i++; printf("想要结束输入,请输入***:"); gets(str[i]); } return i; } void writeout(char str[][ROW],int size) //输出所有的字符串 { int i; for(i=0;i<size;i++) puts(str[i]); } void sort(char str[][ROW],int size) { int i,j,min; char temp[ROW]; for(i=0;i<size;i++) { min=i; for(j=i+1;j<size;j++) { if(strcmp(str[j],str[min])<0) { min=j; strcpy(temp,str[min]); strcpy(str[min],str[j]); strcpy(str[j],temp); } } } } void main() { char str[COL][ROW]; int n; n=readin(str); printf("排序前:"); writeout(str,n); sort(str,n); printf("排序后:"); writeout(str,n); }排序函数有点问题,输入几个字符串,但是无法排序,还是原样输出,请问下哪里有问题?谢谢!!