网站大量收购独家精品文档,联系QQ:2885784924

三级数据库考试南开百题.doc

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三级数据库考试南开百题

函数ReadDat( )实现从文件IN83.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute( )分别计算出xx中偶数的个数even、奇数的平均值ave1、偶数的平均值ave2及所有偶数的方差totfc的值,最后调用函数WriteDat( )把结果输出到OUT83.DAT文件中。 计算方差的公式如下: 设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。 原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: #includestdio.h #includestdlib.h #includestring.h #define MAX 1000 int xx[MAX],odd=0,even=0; double ave1=0.0,ave2=0.0,totfc=0.0; void WriteDat(void); int ReadDat(void) { FILE *fp; int i,j; if((fp=fopen(IN83.DAT,r))==NULL) return 1; for(i=0;i100;i++) { for(j=0;j10;j++) fscanf(fp,%d,,xx[i*10+j]); fscanf(fp,\n); if(feof(fp)) break; } fclose(fp); return 0; } void Compute(void) { int i,tt[MAX]; /*定义数组tt计算总和*/ for(i=0;i1000;i++) if(xx[i]%2!=0) /*判断当前数的奇偶性*/ { odd++; /*统计奇数的个数*/ ave1+=xx[i]; /*求奇数的总和*/ } else { even++; /*统计偶数的个数*/ ave2+=xx[i]; /*求偶数的总和*/ tt[even-1]=xx[i]; /*将偶数存入数组tt中*/ } ave1/=odd; /*求奇数的平均数*/ ave2/=even; /*求偶数的平均数*/ for(i=0;ieven;i++) /*求所有偶数的方差*/ totfc+=(tt[i]-ave2)*(tt[i]-ave2)/even; } void main( ) { int i; for(i=0;iMAX;i++) xx[i]=0; if(ReadDat()) { printf(数据文件IN83.DAT不能打开!\007\n); return; } Compute(); printf( EVEN=%d\nAVE1=%f\nAVE2=%f\nTOTFC=%f\n,even,ave1,ave2,totfc); WriteDat(); } void WriteDat(void) { FILE *fp; fp=fopen(OUT83.DAT,w); fprintf(fp,%d\n%lf\n%lf\n%lf\n,even,ave1,ave2,totfc); fclose(fp); } 请编制函数ReadDat( )实现从文件IN84.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute( )分别计算出xx中奇数的个数odd、奇数的平均值ave1、偶数的平均值ave2及所有奇数的方差totfc的值。最后调用函数WriteDat( )把结果输出到OUT84.DAT文件中。 计算方差的公式如下: 设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。 原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。 注意:部分源程序已给出。 请勿改动主函数main()和输写函数WriteDat()的内容。 试题程序: #includestdio.h #includestdlib.h #includestring.h #define MAX 1000 int xx[MAX],odd=0,even=0; double ave1=0.0,ave2=0.0,totfc=0.0; void WriteDa

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档