温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

字符串数组排序问题

发布时间:2020-07-27 23:10:05 来源:网络 阅读:385 作者:小杨杨雪松 栏目:编程语言
创建一个字符串数组,总共5个元素,每个元素最多保存30个字符
,写一个函数排序整个数组。


//方法一:
#include <stdio.h>
#include <string.h>
void sort(char *arr[], int n)
{
 char *tmp;
 int i, j, k;
 for (i = 0; i < n - 1; i++)                  //选择排序
 {
  k = i;
  for (j = i + 1; j < n; j++)
  {
   if (strcmp(arr[k], arr[j])>0)
   {
    k = j;
   }
  }
  tmp = arr[i];
  arr[i] = arr[k];
  arr[k] = tmp;
 }
}
void print(char *arr[], int n)
{
 int i = 0;
 for (i = 0; i < n; i++)
 {
  printf("%s\n", arr[i]);
 }
}
int main()
{
 int n = 5;
 char *arr[] = { "abcde", "efghi", "hijkl", "bcdef", "defgh" };
 sort(arr, n);
 print(arr, n);
 return 0;
}

//方法二:
#include <stdio.h>
#include <string.h>
int main()
{
 char arr[5][30] = { "aaaa", "cccc", "bbbb", "eeee", "dddd" };
 int i = 0, j = 0;
 char tmp[30] = { 0 };
 for (i = 0; i < 4; i++)                          //冒泡排序
 {
  for (j = 0; j < 4 - i; j++)
  {
   if (strcmp(arr[j], arr[j + 1]) > 0)
   {
    strcpy(tmp, arr[j]);
    strcpy(arr[j], arr[j + 1]);
    strcpy(arr[j + 1], tmp);
   }
  }
 }
 for (i = 0; i < 5; i++)
 {
  printf("%s\n", arr[i]);
 }
 return 0;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI