1[填空題]從鍵盤輸入一組小寫字母,保存在字符數組str中。請補充函數proc(),該函數的功能是:把字符數組str中字符下標為奇數的小寫字母轉換成對應的大寫字母,結果仍保存在原數組中。例如,輸入abcdefg,輸出aBcDeFg。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proe()的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【解析】要將字符串中所有下標為奇數的小寫字母轉化為大寫字母,應該檢查字符串str中從第一個到最后一個字符,判斷其下標是否為奇數,因此【l】填“str[i]!= ˊ\0ˊ”。每找到一個下標為奇數的小寫字母。就將其轉換為大寫字母,大寫字母的ASCⅡ碼值比與其對應的小寫字母小32,因此【2】填“32”。每判斷完一個字符,要為檢查下一個字符做準備,因此【3】填“i++”。
2[填空題]數組xx[M]保存著一組3位數的無符號正整數,其元素的個數通過變量m傳人函數proc()。請補充函數proc(),該函數的功能是:從數組xx中找出十位和百位的數字相等的所有無符號整數,結果保存在數組yy中,其個數由函數proc()返回。
例如,當xx[8]={234 339 666 850 220 448 528 440)時,bb[5]={339 666 220 448 440}。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【解析】要找出數組xx中十位和百位數字相等的所有整數,首先要得到數組中每一個整數的十位和百位數字,因此,【1】處填“(xx[i]/10)%10”;如果十位和百位數字相等,則將該整數放在數組bb ee,因此,【2】處填“bb[n++]=xx[i]”;符合條件的整數個數放在變量n中,返回給主函數,因此,【3】處填“n”。
3[簡答題]編寫函數fun,其功能是:將所有大于1小于整數m的非素數存入xx所指數組中,非素數的個數通過k返回。
例如,若輸入17,則應輸出:4 6 8 9 10 12 14 15 16。
注意:部分源程序給出如下。
請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
試題程序:
參考解析:
【參考答案】
【考點分析】
本題考查:如何判斷非素數;循環(huán)判斷結構;數組的引用。
【解題思路】
題目要求將1一m之間的非素數存入數組中,應使用循環(huán)判斷結構。循環(huán)語句用來遍歷l一m之間的每個數,判斷語句用來判斷該數是否為素數,若不是素數,則將其存入數組中。本題是考查一個數是否為素數的簡單延伸,只要掌握了判斷素數的方法,問題便能順利解決。
【解題寶典】
判定一個數是否為素數,即判斷該數是否除了能被l和它本身整除外,不能被任何數整除。
代碼實現如下:
此語句需要熟記,很多判斷素數的題目可通過此法解決。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |