求救,高手帮忙指点一下!
题目是:在主函数中输入10个字符串,用另一个函数对其排序,然后在主函数中输出这10个排好的字符串?#include <string.h>
main()
{
void strorder(char str[10][20]);
char a[10][20];
int i;
for(i=0;i<10;i++)
gets(*(a+i));
strorder(a);
for(i=0;i<10;i++)
{
puts(*(a+i));
}
}
void strorder(char str[10][20])
{
char a[20];
int i,j,k;
for(i=0;i<10-1;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(strcmp(*(str+k),*(str+j))>0) k=j;
if(k!=i)
{
strcpy(a,*(str+k));
strcpy(*(str+k),*(str+j));
strcpy(*(str+j),a);
}
}
}
----------------解决方案--------------------------------------------------------
知道了!!! void strorder(char str[10][20]) { char a[20]; int i,j,k; for(i=0;i<10-1;i++) { k=i; for(j=i+1;j<10;j++) if(strcmp(*(str+k),*(str+j))>0) k=j; if(k!=i) { strcpy(a,*(str+k)); strcpy(*(str+k),*(str+i)); strcpy(*(str+i),a); } } }
----------------解决方案--------------------------------------------------------