點擊查看:2015計算機三級《數(shù)據(jù)庫》上機試題及答案匯總
1.程序test.c的功能是:計算500~800區(qū)間內(nèi)素數(shù)的個數(shù)cnt,并按所求素數(shù)的值從大到小的順序,計算其間隔減、加之和,即第1個素數(shù).第2個素數(shù)+第3個素數(shù).第4個素數(shù)+第5個素數(shù)…的值sum。請編寫函數(shù)count Value()實現(xiàn)程序的要求,最后main()函數(shù)調(diào)用函數(shù)writeOAT()把結(jié)果cnt和Sum,輸出到文件out.dat中。
試題答案及解析:
【審題關(guān)鍵句】計算500~800區(qū)間內(nèi)素數(shù)的個數(shù),素數(shù)的值從大到小排序,再計算其間隔減、加之和,即第1個素數(shù)-第2個素數(shù)+第3個素數(shù)-第4個素數(shù)+第5個素數(shù)……的值。
【解題思路】
、偈紫榷x一個循環(huán)變量循環(huán)i和用于正負號轉(zhuǎn)換的變量j,同時賦i的初值為-1。
、谕ㄟ^for循環(huán)對800到500的每個數(shù)字進行逐個的掃描,指定循環(huán)變量i的初值為800,當i值等于500停止循環(huán),每執(zhí)行一次循環(huán),i的值便減1。(注意,本題for循環(huán)從大到小依次讀取數(shù)據(jù)是根據(jù)題目要求設(shè)計的,這樣得到的素數(shù)值其排序方式就是從大到小排序。)
③在每次執(zhí)行for循環(huán)時,都調(diào)用素數(shù)判斷函數(shù)isPrime()判斷當前的i值是否為素數(shù),如果是素數(shù),則素數(shù)計數(shù)變量cnt值加1,正負號轉(zhuǎn)換變量j的值乘以-1,實現(xiàn)正負數(shù)的交替轉(zhuǎn)換,最后將每次循環(huán)得到的i*j的值累加到求和變量 sum中。
【參考答案】
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |