三峡学院机械工程专业大二的基础考试及专业考试-全国计算机等级考试四级上机试题21_第1页
三峡学院机械工程专业大二的基础考试及专业考试-全国计算机等级考试四级上机试题21_第2页
三峡学院机械工程专业大二的基础考试及专业考试-全国计算机等级考试四级上机试题21_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、已知在文件 in.dat 中存有若干个(个数200)四位数字的正整数,函数 readdat()读取这若干个正整数并存入数组xx 中。请编制函数calvalue(),其功能要求:1、求出这文件中共有多少个正整数 totnum;2、求这些数右移1 位后,产生的新数是偶数的数的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数 writedat()把所求的结果输出到文件 out.dat 中。部分源程序已给出。请勿改动主函数 main()、读数据函数 readdat()和输出数据函数writedat()的内容。#include#include#define m

2、axnum 200int xxmaxnum;int totnum=0;int totcnt=0;double totpjz=0.0;int readdat(void);void writedat(void);void calvalue(void)void main()int i;clrscr();for(i=0;imaxnum;i+) xxi=0;if(readdat()printf(cant open the data file in.dat!007n);return;calvalue();printf(totnum=%dn,totnum);printf(totcnt=%dn,totcnt)

3、;printf(totpjz=%.2lfn,totpjz);writedat();int readdat(void)file *fp;int i=0;if(fp=fopen(in.dat,r)=null) return 1;while(!feof(fp)fscanf(fp,%d,&xxi+);fclose(fp);return 0;void writedat(void)file *fp;fp=fopen(out.dat,w);fprintf(fp,%dn%dn%.2lfn,totnum,totcnt,totpjz);fclose(fp);void calvalue(void)int i

4、,data;for(i=0;i0) totnum+;data=xxi1;if(data%2=0)totcnt+;totpjz+=xxi;totpjz/=totcnt;请编制程序,从文件 in.dat 中读取 200 个整数至数组 xx 中,不计数组 xx 中值最大和最小的数(若有重复值,则都不计) ,再求出最大数max 及最大数的个数 cnt1、最小数 min 及最小数的个数 cnt2 和所剩下 200-cnt1-cnt2 个数的算求平均值pj (保留 2 位小数)。结果max,cnt1,min,cnt2,pj 输出到out.dat 中。部分程序、读数据函数read_dat(int xx200

5、)及输出格式已给出。#include#include#define n 200void read_dat(int xxn)int i,j;file *fp;fp=fopen(in.dat,r);for(i=0;i20;i+)for(j=0;j10;j+)fscanf(fp,%d,&xxi*10+j);printf(%d ,xxi*10+j);printf(n);fclose(fp);void main()int cnt1,cnt2,xxn,max,min;float pj;file *fw;clrscr();fw=fopen(out.dat,w);read_dat(xx);printf

6、(nnmax=%d,cnt1=%d,min=%d,cnt2=%d,pj=%6.2fn,max,cnt1,min,cnt2,pj);fprintf(fw,%dn%dn%dn%dn%6.2fn,max,cnt1,min,cnt2,pj);fclose(fw);/* 注:该题是要在主函数中加程序行,注意本题要求去除最大和最小数后再求出去掉后的最大数 max 和最小数 min 及相应的个数。因此程序中出现的max0和min0, 用来标识所有数中的最大数和最小数,后而求出次大数和次小数。 在求 max0 和 min0 时一定要给 max 和 min赋一个与 max0 和 min0 不同的数(该题用 es

7、le max=min=xxi),否则会出错。对于一个浮点数要对其保留 2 位小数时,要将其乘 100 后转换成整数,最后再将其转换成浮点数然后除100 即可。*/void main()int cnt1,cnt2,xxn,max,min;float pj;file *fw;int i,max0,min0;clrscr();fw=fopen(out.dat,w);read_dat(xx);max0=min0=xx0;pj=0;cnt1=cnt2=0;for(i=1;in;i+)if(max0 xxi) min0=xxi;else max=min=xxi;for(i=0;in;i+)if(maxxxi&xxixxi&xximin0) min=xxi;for(i=0;in;i+)if(xxi=max) cnt1+;else if(xxi=min) cnt2+;else pj+=xxi;pj=(float)(int)pj*100/(200-cnt1-cnt2)/100;printf(nnmax=%d,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论