21xrx.com
2025-03-25 15:29:46 Tuesday
文章检索 我的文章 写文章
如何在c语言中按字符顺序排列字符串
2023-06-14 21:53:54 深夜i     12     0
c语言 字符串 排序 qsort函数 冒泡排序

在c语言中,字符串是由字符数组表示的。要按照字母顺序排列一个字符数组中的字符,可以使用标准库中提供的qsort函数来完成。qsort函数可以根据指定的比较函数对数组进行排序。

下面是按照字母顺序排列字符串的两种方法。

方法一:

使用strcmp函数比较字符串中两个字符的大小关系,然后利用qsort函数按照比较函数的要求进行排序。

#include 
#include 
int cmp(const void *a, const void *b) {
 return strcmp((const char *)a, (const char *)b);
}
int main() {
 char s[] = "cba";
 int len = strlen(s);
 qsort(s, len, sizeof(char), cmp);
 printf("%s\n", s);
 return 0;
}

方法二:

使用冒泡排序对字符串中的字符进行排序。冒泡排序是一种简单的排序算法,它比较相邻的元素,如果前面的元素比后面的元素大,则交换这两个元素的位置,直到所有元素都按照顺序排好为止。

#include
#include
int main() {
 char a[] = "cba";
 int len = strlen(a);
 int i, j;
 char temp;
 for(i = 0; i < len - 1; i++) {
  for(j = 0; j < len - 1 - i; j++) {
   if(a[j] > a[j + 1]) {
    temp = a[j];
    a[j] = a[j + 1];
    a[j + 1] = temp;
   }
  }
 }
 printf("%s\n", a);
 return 0;
}

  
  

评论区