国产精品久久久久久免费免熟,五月婷婷激情综合网,欧美三级视频网站,一级少妇淫片,国产精品女教师av久久,啪啪免费视频,wwww黄色片

軟題庫 學習課程
當前位置:信管網 >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和C程序,填補代碼中的空缺(1)~(5),將解答填入答題紙的對應欄內。
【說明】
函數areAnagrams(char *fstword, char *sndword)的功能是判斷fstword和sndword中的單詞(不區(qū)分大小寫)是否互為變位詞,若是則返回1,否則返回0。所謂變位詞是指兩個單詞是由相同字母的不同排列得到的。例如,“triangle”與“integral”互為變位詞,而“dumbest”與“stumble”不是。
函數areAnagrams的處理思路是檢測兩個單詞是否包含相同的字母且每個字母出現的次數也相同。過程是先計算第一個單詞(即fstword中的單詞)中各字母的出現次數并記錄在數組counter中,然后掃描第二個單詞(即sndword中的單詞)的各字母,若在第二個單詞中遇到與第一個單詞相同的字母,就將相應的計數變量值減1,若在第二個單詞中發(fā)現第一個單詞中不存在的字母,則可斷定這兩個單詞不構成變位詞。最后掃描用于計數的數組counter各元素,若兩個單詞互為變位詞,則counter的所有元素值都為0。
函數areAnagrams中用到的部分標準庫函數如下表所述。


【C函數】
int areAnagrams (char *fstword, char *sndword)
{
int index;
int counter [26]={0};  /* counter[i]為英文字母表第i個字母出現的次數,
'A'或'a'為第0個,'B'或'b'為第1個,依此類推 */
if  (  (1)  )        /* 兩個單詞相同時不互為變位詞 */
return  0;
while(*fstword)  {     /* 計算第一個單詞中各字母出現的次數 */
if (isalpha (*fstword))  {
if (isupper  (*fstword))
counter  [*fstword -'A']++;
else
counter  [*fstword  -'a']++;
(2) ;      /* 下一個字符 */
}
}
while (*sndword)  {
if  (isalpha (*sndword))   {
index= isupper  (*sndword) ? *sndword -'A': *sndword -'a';
if (counter [index] )
counter [index] --;
else
(3) ;
}
(4) ;    /* 下一個字符 */
}
for (index = 0;  index<26; index++)
if  (  (5)  )
return 0;
return 1;
}

查看答案

相關試題