原文: https://www.programiz.com/c-programming/examples/lexicographical-order
在此示例中,您将学习按字典顺序(字典顺序)对用户输入的 5 个字符串进行排序。
要理解此示例,您应该了解以下 C 编程主题:
按字典顺序对字符串排序
#include <stdio.h>#include <string.h>int main() {char str[5][50], temp[50];printf("Enter 5 words: ");// Getting strings inputfor (int i = 0; i < 5; ++i) {fgets(str[i], sizeof(str[i]), stdin);}// storing strings in the lexicographical orderfor (int i = 0; i < 5; ++i) {for (int j = i + 1; j < 5; ++j) {// swapping strings if they are not in the lexicographical orderif (strcmp(str[i], str[j]) > 0) {strcpy(temp, str[i]);strcpy(str[i], str[j]);strcpy(str[j], temp);}}}printf("\nIn the lexicographical order: \n");for (int i = 0; i < 5; ++i) {fputs(str[i], stdout);}return 0;}
输出
Enter 5 words: R programmingJavaScriptJavaC programmingC++ programmingIn the lexicographical order:C programmingC++ programmingJavaJavaScriptR programming
为了解决该程序,创建了一个名为str的二维字符串。 该字符串最多可包含5个字符串,每个字符串最多可包含50个字符(包括null字符)。
在程序中,我们使用了两个库函数:
这些函数用于比较字符串并以正确的顺序对其进行排序。
