国家三级(网络技术)机试模拟试卷217 (题后含答案及解析)
题型有:1. 程序设计题
程序设计题
1. 函数ReadData( )实现从文件IN.DAT中读取1000个十进制整数到数组XX中;请编制函数Compute( ),分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver以及方差totfc的值,最后调用函数WriteData( )把结果输出到OUT.DAT文件中。计算方差的公式如下;原始数据文件存放的格式是;每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)注意;部分源程序已给出如下;请勿改动主函数main( )和输出数据函数WriteData( )的内容。试题程序;#include,#include#include#define MAX 1000 int xx[MAX],odd=0,even;0; double aver=0.0,totfc=0.0;void WriteData(void);int ReadData(void){ int i; FILE*fp; if((fp=fopen(“IN.DAT”,”r”))==NULL)return 1; for(i=0;i<100;i++) { for(j=0;j<10;j++) fscanf(fp,”%D”,&inBuf[i*10+j]); fscanf(fp,”\n”); it(feof(fp))hreak; fclose(fp); return 0;}void Compute(void){}void main( ){ int i; for(i=0;i 解析:本题考查文件的操作、奇偶判断和数学公式的计算。函数ReadData的作用是从文件中读取数据存入数组xx中,因为数据存放入文件的格式是每个数据被逗号隔开,所以fscanf(fp,”%d,”,&xx[i])语句中字符串”%d,”中要加入逗号。函数Compute的作用是计算方差思路是首先顺序读取数组XX中的结点,若是奇数(xx[i]%2,xx[i]为奇数余数为1条件表达式为真),odd加1,若不是奇数(即为偶数),even加1。然后计算平均数,利用循环结构依次读取数组XX,计算方差totfc。 因篇幅问题不能全部显示,请点此查看更多更全内容