资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
题目 91(整数统计运算题)请编制程序 prog1.c ,从文件 in.dat中读取 200 个整数至数组 xx 中,求出奇数的个数 cnt1 和偶数的个数 cnt2 以及数组 xx 下标为偶数的元素值的算术平均值 pj (保留 2 位小数) 。结果 cnt1,cnt2,pj输出到 out.dat中。部分程序、读数据函数read_dat(int xx200)及输出格式已给出。#include #include #define N 200 void 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 i,j,sum; int cnt1,cnt2,xxN; float pj; FILE *fw; clrscr(); fw=fopen(out.dat,w); read_dat(xx); /*/ sum=0; pj=0.0; cnt1=cnt2=0;for(i=0;iN;i+) if(xxi%2) cnt1+; else cnt2+; if(i%2=0) pj+=xxi;sum+;pj/=sum;/*/ printf(nncnt1=%d,cnt2=%d,pj=%6.2fn,cnt1,cnt2,pj); fprintf(fw,%dn%dn%6.2fn,cnt1,cnt2,pj); fclose(fw); * 题目 92(整数统计运算题)请编制程序 prog1.c ,从文件 IN.DAT 中读取 200 个整数至数组 xx 中,求出最大数 max及最大数的个数 cnt 和数组 xx 中能被 3 整除或能被 7 整除的算术平均值 pj (保留 2 位小数) 。结果 max,cnt,pj输出到 OUT.DAT 中。部分程序、读数据函数read_dat(int xx200)及输出格式已给出。#include #include #define N 200 void 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 m,temp,n,sum; int cnt,xxN,max ; float pj; FILE *fw; clrscr(); fw=fopen(out.dat,w); read_dat(xx); /*/ cnt=0; max=xx0; pj=0.0; n=0;for(m=0;mN;m+) if(maxxxm) max=xxm;for(m=0;mN;m+) if(xxm=max) cnt+; if(xxm%3=0|xxm%7=0) pj+=xxm; n+; pj/=n;/*/ printf(nnmax=%d,cnt=%d,pj=%6.2fn,max,cnt,pj); fprintf(fw,%dn%dn%6.2fn,max,cnt,pj); fclose(fw); * 题目 93(方差运算题)请编制函数 ReadDat() 实现从文件 IN.DAT 中读取 1000 个十进制整数到数组xx中;请编制函数 Compute(),分别计算出 xx 中奇数的个数 odd,偶数的个数even,平均值 aver 以及方差 totfc的值,最后调用函数WriteDat()把结果输出到 OUT.DAT 文件中。计算方差的公式如下: N 2totfc=1/N (xxi-aver) i=1原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于 0 且小于等于 2000)部分源程序存在文件prog1.c 中。请勿改动主函数 main() 和输出数据函数 writeDat()的内容。#include #include #include #define MAX 1000 int xxMAX,odd=0,even=0; double aver=0.0,totfc=0.0; void WriteDat(void); int ReadDat(void) int i; FILE *fp; if(fp=fopen(IN.DAT,r)=NULL) return 1; /*编制函数 ReadDat()*/ for(i=0;iMAX;i+) fscanf(fp,%d,&xxi); if(i+1)%10=0) fscanf(fp,n);/*/ fclose(fp); return 0; void Compute(void) int i;for(i=0;iMAX;i+) if(xxi%2) odd+; else even+; aver+=xxi; aver/=MAX;for(i=0;iMAX;i+) totfc+=(xxi-aver)*(xxi-aver);totfc/=MAX;void main() int i; for(i=0;iMAX;i+)xxi=0; if(ReadDat() printf(数据文件 IN.DAT 不能打开 !007n); return; Compute(); printf(ODD=%dnOVEN=%dnAVER=%fnTOTFC=%fn,odd,even,aver,totfc); WriteDat(); void WriteDat(void) FILE *fp; int i; fp=fopen(OUT.DAT,w); fprintf(fp,%dn%dn%fn%fn,odd,even,aver,totfc); fclose(fp); * 题目 94(整数统计运算题)请编制程序 prog1.c ,从文件 in.dat中读取 200 个整数至数组 xx 中,求出奇数的个数 cnt1 和偶数的个数 cnt2 以及数组 xx 中值为偶数的算术平均值pj(保留 2 位小数)。结果 cnt1,cnt2,pj输出到 out.dat中。部分程序、读数据函数read_dat(int xx200)及输出格式已给出。#include #include #define N 200 void 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 m,sum; int cnt1,cnt2,xxN; float pj; FILE *fw; fw=fopen(out.dat,w); clrscr(); read_dat(xx); /*/ cnt1=0; cnt2=0; pj=0.0;for(m=0;mN;m+) if(xxm%2) cnt1+; else cnt2+; pj+=xxm;if(cnt2=0) pj=0;else pj/=cnt2;/*/ printf(nncnt1=%d,cnt2=%d,pj=%6.2fn,cnt1,cnt2,pj); fprintf(fw,%dn%dn%6.2fn,cnt1,cnt2,pj); fclose(fw); * 题目 95(字符替换题)函数 ReadDat() 实现从文件 ENG.IN中读取一篇英文文章,存入到字符串数组xx 中;请编制函数encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat() 把结果 xx 输出到文件 PS4.DA中。替代关系: f(p)=p*11 mod 256(p 是数组中某一个字符的ASCII 值,f(p) 是计算后新字符的ASCII 值),如果计算后f(p) 值小于等于 32 或 f(p) 对应的字符是大写字母,则该字符不变,否则将f(p) 所对应的字符进行替代。部分源程序存在文件prog1.c 中。原始数据文件存放的格式是:每行的宽度均小于 80 个字符。请勿改动主函数 main() 、读数据函数 ReadDat() 和输出数据函数WriteDat() 的内容。#include #include #include #include unsigned char xx5080; int maxline=0;/*文章的总行数 */ int ReadDat(void); void WriteDat(void); void encryptChar() int i,j;for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=A&xxij*11%256=Z) continue; else xxij=xxij*11%256;void main() clrscr(); if(ReadDat() printf(数据文件 ENG.IN不能打开! n007); return; encryptChar(); WriteDat(); int ReadDat(void) FILE *fp; int i=0; unsigned char *p; if(fp=fopen(eng.in,r)=NULL) return 1; while(fgets(xxi,80,fp)!=NULL) p=strchr(xxi,n); if(p)*p=0; i+; maxline=i; fclose(fp); return 0; void WriteDat(void) FILE *fp; int i; fp=fopen(ps4.dat,w); for(i=0;imaxline;i+) printf(%sn,xxi); fprintf(fp,%sn,xxi); fclose(fp); 题目 96(字符替换题)函数 ReadDat() 实现从文件 ENG.IN中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat() 把结果 xx 输出到文件 PS5.DAT中。替代关系: f(p)=p*11mod 256 (p 是数组中某一个字符的ASCII 值,f(p) 是计算后新字符的ASCII 值),如果原字符是小写字母或计算后f(p) 值小于等于 32,则该字符不变,否则将f(p) 所对应的字符进行替代。部分源程序存在文件prog1.c 中。原始数据文件存放的格式是:每行的宽度均小于 80个字符。请勿改动主函数main() 、读数据函数 ReadDat() 和输出数据函数WriteDat() 的内容。#include #include #include #include unsigned char xx5080; int maxline=0;/*文章的总行数 */ int ReadDat(void); void WriteDat(void); void encryptChar() int i,j;for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=a&xxij=z) continue; else xxij=xxij*11%256;void main() clrscr(); if(ReadDat() printf(数据文件 ENG.IN不能打开! n007); return; encryptChar(); WriteDat(
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号