#include <stdio.h> #include <string.h> #define N 5 void output(char *pstr[],int n); void output(char *pstr[],int n) { int i=0; for(i=0;i<n;i++) { printf("%s ",pstr[i]); } printf("\n"); } void str_sort(char *pstr[],int n); void str_sort(char *pstr[],int n) { int i=0,j=0,a=0; char *pstr1=NULL; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { a=strcmp(pstr[i],pstr[j]);//字符串比较函数strcmp() if(a>0) { pstr1=pstr[i]; pstr[i]=pstr[j]; pstr[j]=pstr1; } } } } void str1_sort(char *pstr[],int n); void str1_sort(char *pstr[],int n) { int i=0,j=0,a=0; char *pstr1=NULL; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { a=strlen(pstr[i])-strlen(pstr[j]);//用库函数strlen(),读取字符串长度 if(a>0) { pstr1=pstr[i]; pstr[i]=pstr[j]; pstr[j]=pstr1; } } } } int main(void) { char *pc="beijing"; char *pstr[N]={"beijing","xian","shanghai","nanjing","guangzhou"}; char str[N][20]={"beijing","xian","shanghai","nanjing","guangzhou"}; output(pstr,N); str_sort(pstr,N);//字符串大小排序 output(pstr,N); str1_sort(pstr,N);//字符串长度排序 output(pstr,N); return 0; }
输出分别为原顺序、按大小排序、按长度排序