【考点分析】 本题考查对数的筛选。考查的知识点主要包括:if条件判断结构,逻辑表达式,位运算,平均值计算方法。
【解题思路】 此题属于数学类问题。分析题干,本题存在2个关键点:关键点1如何通过条件"将数右移一位后产生的新数是奇数"实现对数的筛选;关键点2如何计算其平均值。
本题的解题思路为:使用一个循环控制对所有数遍历访问,统计其中正整数的个数,再通过if判断结构和逻辑表达式实现对数的筛选判断,累加出所有满足条件的数的总和,最后根据其求出算术平均值。
【参考答案】
void CalValue(void)
{
int i; /*定义循环控制变量*/
int data; /*用于保存处理后产生的新数*/
for(i=0;i<200;i++) /*逐个取数组xx中的数进行统计*/
if(xx[i]>0) /*判断是否正整数*/
{
totNum++; /*统计正整数的个数*/
data=xx[i]>>1; /*将数右移一位*