#include <stdio.h>
#include <string.h>
#define M 5
#define N 20
void 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]);
}
对字符串数组中的M个字符串按长度由小到大进行排序
最新推荐文章于 2024-07-30 09:49:09 发布