计算机四级上机(补充).doc

上传人:壹****1 文档编号:551665564 上传时间:2023-09-23 格式:DOC 页数:14 大小:63.01KB
返回 下载 相关 举报
计算机四级上机(补充).doc_第1页
第1页 / 共14页
计算机四级上机(补充).doc_第2页
第2页 / 共14页
计算机四级上机(补充).doc_第3页
第3页 / 共14页
计算机四级上机(补充).doc_第4页
第4页 / 共14页
计算机四级上机(补充).doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《计算机四级上机(补充).doc》由会员分享,可在线阅读,更多相关《计算机四级上机(补充).doc(14页珍藏版)》请在金锄头文库上搜索。

1、四级上机最新题库补充已知数据文件IN.DAT中存有10组每组20个四位数的数据, 每个数据间用空格分隔,并已调用读函数readDat()把这10组数据存入数组aa中(其中,aa定义为int aa1020),请考生编制一函数jsVal(), 其功能是: 首先计算每组中的数属于奇数的算术平均值,然后取每组小于其算术平均值的最大一个四位数依次存入数组bb中(其中,数组bb定义为int bb10,其中bb0为第一组中符合条件的数,bb1为第二组中符合条件的数,其它依此类推),最后调用输出函数writeDat()把结果bb输出到文件OUT.DAT中。注意: 部分源程序存在文件PROG1.C文件中。程序中

2、已定义全局变量: aa1020、bb10请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include int aa1020 ;int bb10;void jsVal() int i,j,max,cnt;double aver;for(i=0;i10;i+) aver=0.0;cnt=0;max=0; for(j=0;j20;j+)if(aaij%2) cnt+; aver+=aaij; if(cnt=0) aver=0.0; else aver/=(double)cnt; for(j=0;j20;j+) if(aai

3、jmax) max=aaij; bbi=max; /* 以下函数均无需修改 */void readDat()int i, j ;FILE *fp ;fp = fopen(D:EXAM40010001in.dat, r) ;for(i = 0 ; i 10 ; i+)for(j = 0 ; j 20 ; j+) fscanf(fp, %d, &aaij) ;fclose(fp) ;void main()int i ;readDat() ;/* 读数据 */jsVal() ;/* 按要求计算 */for(i = 0 ; i 10 ; i+) /* 从屏幕输出结果 */printf(%dn, bbi

4、) ;writeDat() ;/* 输出结果到文件 */writeDat()FILE *fp ;int i ;fp = fopen(D:EXAM40010001out.dat, w) ;for(i = 0 ; i 10 ; i+)fprintf(fp, %dn, bbi) ;fclose(fp) ;输入文件in.dat3246 3657 8074 8551 2365 7351 1442 7845 1786 3021 9796 9073 3102 3812 6464 9554 3955 3672 1962 46031829 9071 1585 7606 1609 1274 3379 5743 3

5、669 7139 2311 9963 4365 8010 3422 1290 1767 9535 9031 60454185 4187 7048 1762 1368 6166 4108 1689 7273 3359 6247 7323 8536 8483 9253 7005 3823 9934 2459 31351632 8911 3961 1714 9718 4546 4876 4957 1737 3047 5933 4968 6795 4146 9120 4791 2040 9168 4567 57096583 6322 1651 6348 8082 4984 8782 6610 9323

6、 3757 2636 2272 1197 5452 8007 3543 6355 9189 2778 24792416 1532 7042 4329 7660 2498 2524 1830 2880 2661 6396 4967 2707 5631 9028 2731 3267 2791 9493 88668386 8377 1047 3229 8413 8618 8377 7768 2420 1217 1851 2512 1683 9914 8655 9873 2465 7525 6679 85003558 8070 6054 5314 8434 1068 1325 7239 9335 48

7、24 2729 7265 4022 1795 1933 6358 2024 1059 8046 13555873 1353 7600 1388 5049 5649 8799 3849 7600 7815 1626 5831 5819 8565 9497 6390 2354 5527 2744 90008531 1735 8390 3887 1524 4433 1114 6151 6427 5095 8007 3329 1110 3313 5884 4951 1981 7750 7103 4041输出文件out.dat:46034365418749684984326732293558587344

8、33*已知数据文件IN.DAT中存有10组每组20个四位数的数据, 每个数据间用空格分隔,并已调用读函数readDat()把这10组数据存入数组aa中(其中,aa定义为int aa1020),请考生编制一函数jsVal(), 其功能是: 首先计算每组中的数中十位数位置上的数字是3、6、9的数的算术平均值,然后取每组小于其算术平均值的最大一个四位数依次存入数组bb中(其中,数组bb定义为int bb10,其中bb0为第一组中符合条件的数,bb1为第二组中符合条件的数,其它依此类推),最后调用输出函数writeDat()把结果bb输出到文件OUT.DAT中。注意: 部分源程序存在文件PROG1.C

9、文件中。程序中已定义全局变量: aa1020、bb10请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include int aa1020 ;int bb10;void jsVal() int i,j,max,cnt,sw;double aver;for(i=0;i10;i+) aver=0.0;cnt=0;max=0; for(j=0;j20;j+) sw=aaij%100/10;if(sw=3|sw=6|sw=9) cnt+; aver+=aaij; if(cnt=0) aver=0.0; else aver/=(

10、double)cnt; for(j=0;j20;j+) if(aaijmax) max=aaij; bbi=max; /* 以下函数均无需修改 */void readDat()int i, j ;FILE *fp ;fp = fopen(D:EXAM40010001in.dat, r) ;for(i = 0 ; i 10 ; i+)for(j = 0 ; j 20 ; j+) fscanf(fp, %d, &aaij) ;fclose(fp) ;void main()int i ;readDat() ;/* 读数据 */jsVal() ;/* 按要求计算 */for(i = 0 ; i 10

11、; i+) /* 从屏幕输出结果 */printf(%dn, bbi) ;writeDat() ;/* 输出结果到文件 */writeDat()FILE *fp ;int i ;fp = fopen(D:EXAM40010001out.dat, w) ;for(i = 0 ; i 10 ; i+)fprintf(fp, %dn, bbi) ;fclose(fp) ;输入文件仍是上面的那个in.dat输出文件out.dat为:4603574341874791165143293229482478155095建议大家考上机时带好笔和纸,这样可以算算结果是否符合题意的要求。这次四级题的题型看来跟上面两

12、题差不多,只是每题将条件进行变动一下,所以大家做题时要仔细看题,解法大至可以参考我提供的解法的思路,祝大家考试顺利!下面是其它论坛上的网友抽到的,晕,真是超级简单!捷成ID 20 、无忧 ID 34(注意:这是四级模拟系统中的ID号)已知在文件IN.DAT中存有N个实数(N200), 函数ReadDat( )读取这N个实数并存入数组xx中。请编制函数CalValue( ), 其功能要求是: 1.求出这N个实数的平均值aver; 2.分别求出这N个实数的整数部分值的平均值averint 以及其小数部分值的平均值averdec。最后调用函数WriteDat( )把所求的结果输出到文件OUT10.D

13、AT中。注意: 部分源程序存放在PROG1.C中。请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include #include #define MAXNUM 200float xxMAXNUM ;int N = 0 ; /* 文件IN.DAT中共有多少个实数 */double aver = 0.0 ; /* 平均值 */double averint = 0.0 ; /* 整数部分值的平均值 */double averdec = 0.0 ; /* 小数部分值的平均值 */int ReadDat(void) ;void WriteDat(void) ;void CalValue(void)int i ;for(i=0; iN; i+) aver += xxi ;averint += (int) xxi ;averdec = aver - averint ;aver /= (double)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号