字符串数组排序问题

  创建一个字符串数组,总共5个元素,每个元素最多保存30个字符   ,写一个函数排序整个数组。//方法一:   # include  & lt; stdio.h>   # include  & lt; string.h>   void 排序(char  * arr [], int  n)   {   ,char  * tmp;   ,int  i, j, k;   ,for (小姐:=,0;,小姐:& lt;, n 作用;1;,我+ +),,,,,,,,,,,,,,,,,,//选择排序   ,{   k 才能,=,我;   for 才能;(j =,小姐:+,1;,j  & lt;, n;, j + +)   {才能   ,,if  (strcmp (arr [k], arr [j])在0)   ,,{   ,,,k =, j。   ,,}   ,,}   arr tmp 才能=,(我);   加勒比海盗才能[我],=,arr [k];   加勒比海盗才能[k],=, tmp;   ,}   }   void 打印(char  * arr [], int  n)   {   ,int 小姐:=,0;   ,for (小姐:=,0;,小姐:& lt;, n;,我+ +)   ,{   ,,printf (" % s \ n ",, arr[我]);   ,}   }   int  main ()   {   ,int  n =, 5;   ,char  * arr[],=,{,“中的”、“efghi”,,“hijkl”,“bcdef”,“defgh”,};   ,排序(加勒比海盗,n);   ,打印(加勒比海盗,n);   ,return  0;   }//方法二:   # include  & lt; stdio.h>   # include  & lt; string.h>   int  main ()   {   加勒比海盗,char  [5] [30],=, {,“aaaa”,“预备”,,“bbbb”,“eeee,“dddd”,};   ,int 小姐:=,0,,j =, 0;   ,char  tmp [30],=, {, 0};   ,for (小姐:=,0;,小姐:& lt;, 4,,我+ +),,,,,,,,,,,,,,,,,,,,,,,,,,//冒泡排序   ,{   for 才能;(j =, 0;, j  & lt;, 4,安康;我。,j + +)   {才能   ,,if  (strcmp (arr arr [j], [j  +, 1]),祝辞,0)   ,,{   ,,,拷贝字符串(tmp, arr [j]);   ,,,拷贝字符串(arr arr [j], [j  +, 1]);   ,,,拷贝字符串(arr (j  +, - 1), tmp);   ,,}   ,,}   ,}   ,for (小姐:=,0;,小姐:& lt;, 5;,我+ +)   ,{   ,,printf (" % s \ n ",, arr[我]);   ,}   ,return  0;   }


字符串数组排序问题