#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> int n; char str1[500][20]; void p_quick_sort(char str[500][20],int i,int j); void main() { int i; while(1) { printf("请输入字符串个数:\n"); scanf("%d",&n); for(i=0;i<n;i++) scanf("%s",str1[i]); p_quick_sort(str1,0,n-1); for(i=0;i<n;i++) printf("%s\n",str1[i]); } } void p_quick_sort(char str[500][20],int i,int j) { int index,start=i,end=j; if(i>=j)return ; char temp[20]; strcpy(temp,str[i]);; while(i<j) { while(strcmp(str[j],temp)>=0&&i<j) { j--; } if(i<j) { strcpy(str[i],str[j]); } while(strcmp(str[i],temp)<0&&i<j) { i++; } if(i<j) { strcpy(str[j],str[i]); } } strcpy(str[i],temp); p_quick_sort(str,start,i-1); p_quick_sort(str,i+1,end); }