程式碼中包含了六十個英文單字,儲存在 char dictionary[N_WORDS][30];
N_WORDS 是字典中總共的英文單字數目, 也就是60
每一個 dictionary[i] 相當於一個字串
譬如 printf(“%s\n”, dictionary[2]);
螢幕上應該會顯示出an
這個作業題目要完成的是範例程式當中的三個函數
void count_letters(char *input_str, int *counts);
int equal_counts(int *counts1, int *counts2);
void find_words(char *input);
在 main 會呼叫 find_words
將使用者輸入的字串傳入 (假設只會包含小寫字母)
這個字串是某個英文單字的字母重新排列
find_words這個函數要透過查字典的方式,將所有經過適當排列之後能符合輸入字串的英文單字都列出
在比對字串的時候,要把字典中的大寫字母都轉成小寫來比對
你的程式碼應該會需要用到 tolower 函數
請自行查詢函數的用法https://www.gnu.org/software/libc/manual/html_mono/libc.html
find_words函數中會呼叫 count_letters 和 equal_counts
count_letters 的作用是計算某個單字中 ‘a’ 到 ‘z’ 每個小寫字母出現的次數
將 ‘a’ 出現的次數儲存在 counts[0], ‘b’ 出現的次數儲存在 counts[1],依此類推
equal_count 函數則是用來比較兩個單字中,每個字母的出現次數是否完全相同。
注意事項:
1.將字典中的字,轉成小寫存入 lower[] 陣列中。用字元陣列儲存字串,字串的結尾記得要放 ‘\0’。
2.上傳至 OJ 之前,記得要將/* #define ONLINE_JUDGE */ 的註解符號移除 (拿掉 /* 和 */)
讓它變成 #define ONLINE_JUDGE
N個搜尋字串
查詢出的字串