#include <stdio.h> #include ,string.h> #define Max 20; void fun(char * p[ ],int n) /*采用冒泡排序方法递增排序*/ { int i,j,exchange; /*交换标志*/ char * tmp; for (i=0;i<n-1;i++ ) /*最多做n-1趟排序*/ if (strcmp(p[j+1],p[j])<0) /*交换元素*/ { tmp=p[j+1]; /*tmp暂存数组元素,用于元素交换*/ p[j+1]=p[j]; p[j]=tmp; exchange=1; /*发生了交换,故将交换标志置为真*/ } if (!exchange) /*本趟未发生交换,提前终止算法*/ return; } } void main() { int i,n; char a[Max] [40]; char * p[Max]; printf("n:"); scanf("%d",&n); for (i=0;i<n;i++ ) { printf("String%d:"i+1); scanf("%s",a[i]); p[i]=a[i]; } fun(p,n); printf("执行结果:\n"); for (i=0;i<n;i++ ) printf("p[ %d]= %s\n",i,p[i]) }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题