跳到主要内容

C 编程:按字典顺序排序元素的程序

要理解这个示例,你应该对以下 C语言编程 主题有所了解:

按字典顺序排序字符串

#include <stdio.h>
#include <string.h>

int main() {
char str[5][50], temp[50];
printf("请输入 5 个单词: ");

// 获取字符串输入
for (int i = 0; i < 5; ++i) {
fgets(str[i], sizeof(str[i]), stdin);
}

// 按字典顺序存储字符串
for (int i = 0; i < 5; ++i) {
for (int j = i + 1; j < 5; ++j) {

// 如果字符串不按字典顺序排列,则交换它们
if (strcmp(str[i], str[j]) > 0) {
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}

printf("\n按字典顺序排列: \n");
for (int i = 0; i < 5; ++i) {
fputs(str[i], stdout);
}
return 0;
}

输出

请输入 5 个单词: R programming
JavaScript
Java
C programming
C++ programming

按字典顺序排列:
C programming
C++ programming
Java
JavaScript
R programming

为了解决这个程序,我们创建了一个名为 str 的二维字符串。这个字符串最多可以容纳 5 个字符串,每个字符串最多有 50 个字符(包括 null 字符)。

在程序中,我们使用了两个库函数:

  • strcmp() 用于比较字符串
  • strcpy()用于复制字符串

这些函数用于比较字符串并按正确顺序排序。