【计算机类职业资格】计算机三级数据库技术-18及答案解析.doc
《【计算机类职业资格】计算机三级数据库技术-18及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机三级数据库技术-18及答案解析.doc(5页珍藏版)》请在麦多课文档分享上搜索。
1、计算机三级数据库技术-18 及答案解析(总分:100.00,做题时间:90 分钟)一、B上机题/B(总题数:5,分数:100.00)1.已知数据文件 in.dat中存有 300个四位数,并已调用读函数 ReadDat()把这些数存入数组 a中。请编写函数 jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值 pjz1,以及不满足此条件的四位数平均值 pjz2,最后调用写函数 writeDat(),把结果输出到 out.dat文件中。 例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数 cnt=
2、cnt+1。 8129,8+12+9,则该数不满足条件计算平均值 pjz2。 注意:部分源程序已经给出。 程序中已定义数组:a300;已定义变量:cnt,pjz1,pjz2。 请勿改动主函数 main()、读函数 ReadDat()和写函数 writeDat()的内容。 #include stdio.h int a300,cnt=0; double pjz1=0.0,pjz2=0.0; void jsValue() void ReadDat() FIIE *fp; int i; fp=fopen(“in.dat“,“r“); for (i=0;i300;i+) fscanf(fp,“%d,“,
3、 fclose(fp); void writeDat() FILE *fp; fp=fopen(“out.dat“,“w“); fprintf(fp,%d/n%7.2f/n%7.2f/n“,cnt,pjz1,pjz2); fclose(fp); main() ReadDat(); jsValue(); writeDat(); printf(“cnt=%d/n满足条件的平均值 pzj1=%7.2f/n不满足条件的平均值 pzj2=%7.2f/n“ ,cnt,pjz1,pjz2); (分数:20.00)_2.已知数据文件 in.dat中存有 300个四位数,并已调用读函数 ReadDat()把这些
4、数存入数组 a中。请编写函数 jsValue(),其功能是:求出所有这些四位数是素数的个数 cnt,再求出所有满足此条件的四位数平均值 pjz1以及不满足此条件的四位数平均值 pjz2,最后调用写函数 writeDat(),把结果cnt、pjz1、pjz2 输出到 out.dat文件中。 例如:5591 是素数,则该数满足条件计算平均值 pjz1,且个数 cnt=cnt+1。 9812 是非素数,则该数不满足条件计算平均值 pjz2。 注意:部分源程序已经给出。 程序中已定义数组:a300;已定义变量:cnt、pjz1、pjz2。 请勿改动主函数 main()、读函数 ReadDat()和写函
5、数 writeDat()的内容。 #include stdio.h int a300,cnt=0; double pjz1=0.0,pjz2=0.0; int isP(int m) int i; for (i=2;im;i+) if(m%i=0) return 0; return 1; void jsValue() void ReadDat() FILE *fp; int i; fp=fopen(“in.dat“,“r“); for (i=0;i300;i+) fscanf(fp,“%d,“, fclose(fp); void writeDat() FILE *fp; fp=fopen(“ou
6、t.dat“,“w“); fprintf(fp,“%d/n%7.2f/n%7.2f/n“,cnt,pjz1,pjz2); fclose(fp); main() ReadDat(); jsValue(); writeDat(); printf(“cnt=%d/n满足条件的平均值 pzj1=%7.2f/n不满足条件的平均值 pzj2=%7.2f/n“,cnt,pjz1,pjz2); (分数:20.00)_3.函数 ReadDat()实现从 IN.DAT文件中读取 1000个十进制整数到数组 xx中。请编写函数 Compute()分别计算出 xx中奇数的个数 odd,奇数的平均值 ave1,偶数的个
7、数 even,偶数的平均值 ave2以及所有奇数的方差 totfc的值,最后调用函数 WriteDat(),把结果输出到 OUT.DAT文件中。 计算方差的公式如下: (分数:20.00)_4.现有一个 10个人 100行的选票数据文件 IN.DAT,其数据存放的格式是:每条记录的长度均为 10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,以此类推;内容均为字符 0和 1,1表示此人被选中,0 表示此人未被选中,若一张选票人数大于 5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组 xx中。请编写函数 CountRs()来统计每个人的选票数
8、并把得票数依次存入 yy0到 yy9中。把结果 yy输出到 OUT.DAT文件中。 注意:部分源程序已经给出。 请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。 #include stdio.h char xx10011; int yy10; int ReadDat(void); void WriteDat(void); void CountRs(void) void main() int i; for (i=0;i10;i+) yyi=0; if (ReadDat() printf(“选票数据文件 IN.DAT不能打开! /n/007“
9、); return; CountRs(); WriteDat(); int ReadDat(void) FILE *fp; int i; if (fp=fopen(“IN.DAT“,“r“)=NULL) return 1; for(i=0;i100;i+) if(fgets(xxi,12,fp)=NULL) return 1; fclose(fp); return 0; void WriteDat(void) FILE *fp; int i; fp=fopen(“OUT.DAT“,“w“); for(i=0;i10;i+) fprintf(fp,“%d/n“,yyi); printf(“第%d
10、 个人的选票数=%d/n“,i+1,yyi); fclose(fp); (分数:20.00)_5.已知数据文件 IN.DAT中存有 200个四位数,并已调用读函数 readDat()把这些数存入数组 a中。请编写函数 jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数 cnt并把这些四位数按从小到大的顺序存入数组 b中,最后调用写函数 writeDat(),把结果 cnt以及数组 b中符合条件的四位数输出到 OUT.DAT文件中。 注意:部分源程序已经给出。 程序中
11、已定义数组:a200,b200,已定义变量:cnt。 请勿改动数据文件 IN.DAT中的任何数据、主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 #include stdio.h #define MAX 200 int aMAX,bMAX,cnt=0; void jsVal() void readDat() int i; FILE *fp; fp=fopen(“IN.DAT“,“r“); for(i=0;iMAX;i+) fscanf(fp,“%d,“, fclose(fp); void writeDat() FILE *fp; int i, fp=fo
12、pen(“OUT.DAT“,“w“); fprintf(fp,“%d/n“,cnt); for(i=0;icnt;i+) fprintf(fp,“%d/n“,bi); fclose(fp); void main() int i; readDat(); jsVal(); printf(“满足条件的数=%d/n“,cnt); for(i=0;icnt;i+) printf(“%d“,bi); printf(“/n“); writeDat(); (分数:20.00)_计算机三级数据库技术-18 答案解析(总分:100.00,做题时间:90 分钟)一、B上机题/B(总题数:5,分数:100.00)1.
13、已知数据文件 in.dat中存有 300个四位数,并已调用读函数 ReadDat()把这些数存入数组 a中。请编写函数 jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值 pjz1,以及不满足此条件的四位数平均值 pjz2,最后调用写函数 writeDat(),把结果输出到 out.dat文件中。 例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数 cnt=cnt+1。 8129,8+12+9,则该数不满足条件计算平均值 pjz2。 注意:部分源程序已经给出。 程序中已定义数组:a300;已
14、定义变量:cnt,pjz1,pjz2。 请勿改动主函数 main()、读函数 ReadDat()和写函数 writeDat()的内容。 #include stdio.h int a300,cnt=0; double pjz1=0.0,pjz2=0.0; void jsValue() void ReadDat() FIIE *fp; int i; fp=fopen(“in.dat“,“r“); for (i=0;i300;i+) fscanf(fp,“%d,“, fclose(fp); void writeDat() FILE *fp; fp=fopen(“out.dat“,“w“); fpri
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 三级 数据库技术 18 答案 解析 DOC
