计算机等级考试南开百题分类-其他数学计算类.docVIP

计算机等级考试南开百题分类-其他数学计算类.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机等级考试南开百题分类-其他数学计算类

、其他数学计算。  20题 某级数的前两项A1=1,A2=1,以后各项具有如下关系: An=An-2+2An-1 下列程序的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:SnM且Sn+1=M,这里   Sn=A1+A2+...+An, 并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能, 最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。 请勿改动主函数main()和写函数writeDat()的内容。 #include stdio.h int b[3] jsValue() { } main() { jsValue(); printf(M=100,n=%d\nM=1000,n=%d\nM=10000,n=%d\n,b[0],b[1],b[2]); writeDat() } writeDat() { FILE *fp; fp=fopen(out.dat,w); fprintf(fp,%d\n%d\n%d\n,b[0],b[1],b[2]); fclose(fp); } 注:在该题中主要就是要正确简捷的表示出各项的关系 jsvalue() { int a1=1,a2=1,a12,sn,k=2; sn=a1+a2; while(1) {a12=a1+2*a2; if(sn100sn+a12=100) b[0]=k; if(sn1000sn+a12=1000) b[1]=k; if(sn10000sn+a12=10000) {b[2]=k;break;} sn=sn+a12; a1=a2; a2=a12; k++; } }     36题 请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。 计算方差的公式如下: N 2 totfc=1/N∑(xx[i]-ave1) i=1 设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。 原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000) 部分源程序已给出。 请勿改动主函数main()和输出数据函数writeDat()的内容。 #include stdio.h #include stdlib.h #include string.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(viod) { FILE *fp; if((fp=fopen(IN.DAT , r)==NULL) return 1; fclose(fp); return 0; } void Compute(void) { } void main() { int i; for(i=0;iMAX;i++)xx[i]=0; if(ReadDat()){ printf( 数据文件IN.DAT不能打开!\007\n); return; } Compute() printf( ODD=%d\nOVEN=%d\nAVER=%1f\nTOTFC=%lf\n ,odd,ave1,ave2,totfc); writeDat(); } void WriteDat(void) { FILE *fp; int i; fp=fopen( OUT.DAT , w); fprintf(fp, %d\n%lf\n%lf\n%lf\n ,odd,ave1,ave2,totfc); fclose(fp); } /* 注:注意该题还要编制读函数readdat(),在读函数中格式输入符的一定要加逗号。 在compute()函数中算方差的方式也要注意哦!*/ int ReadDat(void) { FILE *fp ; int i; if((fp=fopen(in.dat,r))==NULL) return 1; for(i=0;iMAX;i++) {fscanf(fp,%d,,xx[i]); if(feof(fp)) break; } fclose(fp) ; return 0 ; } void Compute(void) { int i,yy[1000]; for(i=0;iMAX;i++) if(xx[i]%2) {odd++; ave1+=xx[i]; yy[odd-1]=xx[i]; }

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档