三、程序改錯題
42下列給定程序中,函數proc()的功能是:根據輸入的3個邊長(整型值),判斷能否構成三角形:若能構成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構成三角形則返回1;若不能,則返回0。
例如,輸入3個邊長為3,4,5,實際輸入時,數與數之間以Enter鍵分隔而不是逗號。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
(1)錯誤:return 1;
正確:return 3;
(2)錯誤:return 3;
正確:return 1;
【解析】三條邊都相等的三角形為等邊三角形,按題目中要求,等邊三角形返回3,若不是等邊三角形也不是等腰三角形則返回1,因此,“return 1;”應改為“return 3;”;“re-turn 3;”應改為“return 1;”。
四、程序設計題
43請編寫函數void proc(int X,int pp[],int*n),它的功能是:求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的數組中,這些除數的個數通過形參n返回。
例如,若X中的值為50,則有3個數符合要求,它們是1,5,25。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。
試題程序:
參考解析:
【解析】按照題目中要求求出能整除x且不是偶數的各整數,可以通過判斷小于整數x的所有整數能否整除x。將能整除x的所有奇數放入數組pp中。最后將符和條件的整數個數通過形參返回到主函數當中。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |