当前位置: 代码迷 >> C语言 >> 求救,高手帮忙指点一下!
  详细解决方案

求救,高手帮忙指点一下!

热度:141   发布时间:2005-09-06 23:37:00.0
求救,高手帮忙指点一下!
题目是:在主函数中输入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); } } }
----------------解决方案--------------------------------------------------------
  相关解决方案