此示例中,您將學(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)行排序。