对字符串数组中的M个字符串按长度由小到大进行排序

来源:互联网 发布:软件评测师是什么 编辑:程序博客网 时间:2024/06/06 14:21
#include    <stdio.h>#include    <string.h>#define    M    5#define    N    20void fun(char  (*ss)[N]){  int  i, j, k, n[M];      char  t[N];   for(i=0; i<M; i++)   n[i]=strlen(ss[i]);             //统计各个字符串字符个数   for(i=0; i<M-1; i++)                 //冒泡法   {  k=i;      for(j=i+1; j<M; j++)        if(n[k]>n[j])  k=j;      if(k!=i)                 //字符串互换      {  strcpy(t,ss[i]);         strcpy(ss[i],ss[k]);         strcpy(ss[k],t);         n[k]=n[i];      }   }}main(){  char  ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"};   int  i;   printf("\nThe original strings are :\n");   for(i=0; i<M; i++)  printf("%s\n",ss[i]);   printf("\n");   fun(ss);   printf("\nThe result :\n");   for(i=0; i<M; i++)  printf("%s\n",ss[i]);}

原创粉丝点击