1、计算机三级网络技术机试(上机操作)模拟试卷 20及答案与解析 一、程序设计题 1 已知在文件 IN DAT中存有若干个 (个数 #include #define MAX 200 int inBufMAX; int totleNum=0; *文件 IN DAT中共有多少个正整数 * int totleCnt=0; *符合条件的正整数的个 数 * double totleAverage=0 0;平均值 int ReadData(void); void WriteData(void); void findValue(void) void main() int i; system(“CLS”); fo
2、r(i=0; i0)tolleNum+; 如果是正数就将计数器 totleNum加 1 if(inBufi 2) 2 !=0) 如果右移一位后产生的数是奇数 totleCnt+; 将计数器 totleCnt加 1 求满足条件的数的平均值 totleAverage* (totleCnt-1)是前 totleCnt-1个数的总和 totleAverage=(totleAverage*(totleCnt- 1)+inBufi) totleCnt; 【试题解析】 本题 主要考查数据移位、奇偶判断及平均值求法。 数据移位:数据左移一位相当于将数据乘以 2。数据右移一位相当于将数据除以 2。 奇偶判断:如果一个数时 2求余结果为 0,则该数为偶数;否则,为奇数。 求平均值:由于本题中的数据量比较大,若采用先将各个值加起来再除以总个数来取平均的话,变量不能存储那么大的数据而导致溢出。本题的程序采用的方法是: N个数的平均值 =前 (N-1)个数的平均值 *(N-1)+第 N个数 N,采用这种递推的方法就避免了将大的数据存入变量中而产生溢出。