文章責編:wangmeng
看了本文的網友還看了學歷| 高考 中考 考研 自考 成考 外語| 四六級 職稱英語 商務英語 公共英語 資格| 公務員 報關員 銀行 證券 司法 導游 教師 計算機| 等考 軟考
工程|一建 二建 造價師 監理師 咨詢師 安全師 結構師 估價師 造價員 會計| 會計證 會計職稱 注會 經濟師 稅務師 醫學| 衛生資格 醫師 藥師 [更多]
1.已知數據文件in.dat中存有300個四位數,并已調用讀函數readDat()把這些數存入數組a中,請編制一函數jsValue(),其功能是:求出所有這些四位數是素數的個數cnt,再把所有滿足此條件的四位數依次存入數組b中,然后對數組b的四位數按從小到大的順序進行排序。最后main()i函數調用寫函數writeDat()把數組b中的數輸出到0ut.dat文件中。
例如:5591是素數,則該數滿足條件存入數組b中,且個數cnt=cnt+1。
9812是非素數,則該數不滿足條件忽略。
注意:部分源程序存在test.C文件中。
程序中已定義數組:a[300],b[300],已定義變量:cnt
試題答案及解析:
【審題關鍵句】求素數的個數,存入數組,按從小到大的順序排序。
【解題思路】
①首先定義兩個循環變量循環i、j和一個用于數據交換的整型變量tmp。
②通過for循環依次讀取數組中的300個數,其中,循環變量i從0開始每次加1,直到i<300停止循環;在每次循環中判斷a[i]是否是素數,如果是素數,則把a[i]的值賦給數組b[cnt],同時數組下標變量cnt值加1。
③在退出循環后,用兩個for循環對數組b[]中元素進行兩兩比較,實現數組元素從小到大的排序,比較過程中通過整型變量tmp實現兩個數的交換。
【參考答案】
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |