此示例中,您將學(xué)習(xí)按字典順序(詞典順序)對(duì)用戶輸入的5個(gè)字符串進(jìn)行排序。
要理解此示例,您應(yīng)該了解以下C語(yǔ)言編程主題:
#include <stdio.h>
#include <string.h>
int main() {
char str[5][50], temp[50];
printf("輸入5個(gè)字符串: ");
//獲取字符串輸入
for (int i = 0; i < 5; ++i) {
fgets(str[i], sizeof(str[i]), stdin);
}
//按字典順序存儲(chǔ)字符串
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;
}輸出結(jié)果
輸入5個(gè)字符串: R programming JavaScript Java C programming C++ programming 按照字典的順序: C programming C++ programming Java JavaScript R programming
為了解決該程序,創(chuàng)建了一個(gè)名為str的二維字符串。該字符串最多可容納5個(gè)字符串,并且每個(gè)字符串最多可包含50字符(包括null字符)。
在程序中,我們使用了兩個(gè)庫(kù)函數(shù):
這些函數(shù)用于比較字符串并以正確的順序?qū)ζ溥M(jìn)行排序。