当前位置: 代码迷 >> C语言 >> [求助]利用指针对字符串排序问题
  详细解决方案

[求助]利用指针对字符串排序问题

热度:174   发布时间:2005-08-19 12:09:00.0
[求助]利用指针对字符串排序问题

请问我的程序为什么错了? #define N 5 #define M 10 main() { char a[N][M],sort(); int i; for(i=0;i<N;i++) scanf("%s",a+i); sort(a); for(i=0;i<N;i++) printf("%s\n",a+i); }

char sort(char a[N][M]) {int i,j; char *p,*q,temp[M]; p=a;q=a+1; for(i=0;i<N;i++) for(j=1;j<5-i;j++) { if(strcmp(*p,*q)>0) { temp=*p; strcpy(*p,*q); strcpy(*q,temp); } p++;q++; } }



搜索更多相关的解决方案: 字符  sort  char  temp  int  

----------------解决方案--------------------------------------------------------

上面的程序输错了 #define N 5 #define M 10 main() { char a[N][M],sort(); int i; for(i=0;i<N;i++) scanf("%s",a+i); sort(a); for(i=0;i<N;i++) printf("%s\n",a+i); }

char sort(char a[N][M]) {int i,j;

char *temp[M],*p,*q; for(i=0;i<N;i++) {p=a;q=a+1; for(j=1;j<5-i;j++) { if(strcmp(*p,*q)>0) { strcpy(temp,*p); strcpy(*p,*q); strcpy(*q,temp); } p++;q++; } } }

我用的是冒泡排序,请问为什么不能交换数据 


----------------解决方案--------------------------------------------------------
  相关解决方案