奇偶数问题.docVIP

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

奇偶数问题 奇偶数问题: 1、请编制函数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) void Compute(void) { int i,yy[MAX]; ave1=0;ave2=0; for(i=0;iMAX;i++) if(xx[i]%2!=0) {yy[odd]=xx[i]; odd++; ave1=ave1+xx[i];} else {even++; ave2=ave2+xx[i];} if(odd==0) ave1=0; else ave1=ave1/odd; if(even==0) ave2=0; else ave2=ave2/even; for(i=0;iodd;i++) totfc=totfc+((yy[i]-ave1)*(yy[i]-ave1))/odd;} 2、请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。部分源程序存在文件prog1.c中 void CalValue(void) { int i,j; int yy[MAXNUM]; i=0;j=0; for(i=0;iMAXNUM;i++){if(xx[i]0) {yy[j]=xx[i];j++;totNum++;}} for(i=0;itotNum;i++) if((yy[i]1)%2==0) {totCnt++; totPjz=totPjz+yy[i];} if(totCnt==0) totPjz=0; else totPjz=totPjz/totCnt;} 3、请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz void CalValue(void) {int i; long sum; i=0;sum=0; while(xx[i]!=0) {totNum++; i++;} for(i=0;itotNum;i++) if((xx[i]1)%2!=0) {totCnt++; sum=sum+xx[i];} if(totCnt==0) totCnt=0; else totPjz=1.0*sum/totCnt;} 4、请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为奇数的元素值的算术平均值pj(保留2位)结果cnt1,cnt2,pj输出到out.dat中 #include conio.h #include stdio.h #define N 200 void read_dat(int xx[N]) {int i,j; FILE *fp; fp=fopen(in.dat,r); for(i=0;i20;i++){ for(j=0;j10;j++){ fscanf(fp,%d,,xx[i*10+j]); printf(%d ,xx[i*10+j]);} printf(\n);} fclose(fp);} void main() {int m,n,sum; int cnt1,cnt2,xx[N]; float pj; FILE *fw; clrscr(); fw=fopen(out.dat,w); read_dat(xx); cnt1=0;cnt2=0;n=0;sum=0; for(m=0;mN;m++) {if(xx[m]%2!=0) cnt1++; else cnt2++; if(m%2!=0) {sum=sum+xx[m]; n++;}} pj=1.0*sum/n; printf(\n\ncnt1=%d,cnt2=%d,pj=%6.2f\n,cnt1,cnt2,pj); fprintf(fw,%d\n%d\n%6.2f\n,cnt1,cnt2,pj); fclose(fw);} 5、请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档