文章責編:lipeng566
看了本文的網友還看了學歷| 高考 中考 考研 自考 成考 外語| 四六級 職稱英語 商務英語 公共英語 資格| 公務員 報關員 銀行 證券 司法 導游 教師 計算機| 等考 軟考
工程|一建 二建 造價師 監理師 咨詢師 安全師 結構師 估價師 造價員 會計| 會計證 會計職稱 注會 經濟師 稅務師 醫學| 衛生資格 醫師 藥師 [更多]
【考點分析】 本題考查對多個整數的右移、統計以及求平均值。考查的知識點主要包括:位移算法,邏輯表達式,求平均值的算法。
【解題思路】 本題是數學類題。本題的解題思路是:首先利用一個for循環來依次從數組中取得各數,由于題目要求數組中正整數的個數,如果取得的數大于零,這時就給變量totNum(正整數的個數)累加1,然后把該正整數右移一位后的結果臨時保存在變量data中,再判斷產生的新數是否是偶數。如果是,就給變量totCnt(符合判斷條件的正整數個數)累加1,并把原數的值累加到變量totPjz中,當所有符合判斷條件的數都被找出后,再對totPjz求平均值。
【參考答案】
void CalValue(void)
{ int i; /*定義循環控制變量*/
int data; /*用于保存處理后產生的新數*/
for(i=0;i<200;i++) /*逐個取數組xx中的數進行統計*/
if(xx[i]>0) /*判斷是否正整數*/
{
totNum++; /*統計正整數的個數*/
data=xx[i]>>1; /*將數右移一位*/
if(data%2==0) /*如果產生的新數是偶數*/
{
totCnt++; /*統計這些數的個數*/
totPjz+=xx[i]; /*并將滿足條件的原數求和*/
}
}
totPjz/=totCnt; /*求滿足條件的這些數(右移前的值)的算術平均值*/
}
【易錯提示】 位移運算表達式的使用。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |