字符串排序问题
程序代码:/*************************
编写程序,输入若干个字符串,以***为结束标志,并且在输出时按照英语字典的书序输出
********************************/
#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);
}排序函数有点问题,输入几个字符串,但是无法排序,还是原样输出,请问下哪里有问题?谢谢!!






