【计算机类职业资格】三级数据库技术机试-180及答案解析.doc

上传人:lawfemale396 文档编号:1321226 上传时间:2019-10-17 格式:DOC 页数:4 大小:27.50KB
下载 相关 举报
【计算机类职业资格】三级数据库技术机试-180及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】三级数据库技术机试-180及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】三级数据库技术机试-180及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】三级数据库技术机试-180及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级数据库技术机试-180 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.已知数据文件 IN.DAT 中存有 300 个五位数,并已调用读函数 ReadDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出满足以下条件的数的个数 cnt、所有满足此条件的数的平均值pjz1,以及不满足此条件的数的平均值 pjz2,最后调用写函数把结果输出到 out.dat 文件。条件:将五位数的万位、百位、个位数字重组成一个三位数 a,将五位数的千位、十位数字重组成一个两位数 b,前一个数 a 能被后一个数 b 整除。例如:2

2、4360 满足条件(230 能被 46 整除);38129 不满足条件(319 不能被 82 整除)。部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt、pjz1、pjz1。请勿改动主函数 main()、读函数 ReadDat()和写函数 writeDat()的内容。#include stdio.hint a300,cnt=0;double pjzl-0.0,pjz2=0.0;jsValue()main()int i;readDat();jsValue();writeDat();printf (“cnt=%d/n 满足条件的平均值 pzj1=%7.21 f/n 不满足条件的平均值

3、pjz2=%7.21f/n“ ,cnt,pjz1,pjz2);readDat ( )FILE *fp;int i;fp=fopen(“ in.dar“ ,“ r“);for(i=0,i300;i+) fscanf(fp,“%d“ ,fclose(fp);writeDat()FILE *fp;int i;fp=fopen(“ out.dar“ ,“ w“ );fprintf(fp,“ %d/n%7.21f/n%7.21f/n“ ,cnt,pjz1,pjz2);fclose(fp);(分数:100.00)_三级数据库技术机试-180 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(

4、总题数:1,分数:100.00)1.已知数据文件 IN.DAT 中存有 300 个五位数,并已调用读函数 ReadDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出满足以下条件的数的个数 cnt、所有满足此条件的数的平均值pjz1,以及不满足此条件的数的平均值 pjz2,最后调用写函数把结果输出到 out.dat 文件。条件:将五位数的万位、百位、个位数字重组成一个三位数 a,将五位数的千位、十位数字重组成一个两位数 b,前一个数 a 能被后一个数 b 整除。例如:24360 满足条件(230 能被 46 整除);38129 不满足条件(319 不能被 82

5、整除)。部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt、pjz1、pjz1。请勿改动主函数 main()、读函数 ReadDat()和写函数 writeDat()的内容。#include stdio.hint a300,cnt=0;double pjzl-0.0,pjz2=0.0;jsValue()main()int i;readDat();jsValue();writeDat();printf (“cnt=%d/n 满足条件的平均值 pzj1=%7.21 f/n 不满足条件的平均值pjz2=%7.21f/n“ ,cnt,pjz1,pjz2);readDat ( )FILE

6、*fp;int i;fp=fopen(“ in.dar“ ,“ r“);for(i=0,i300;i+) fscanf(fp,“%d“ ,fclose(fp);writeDat()FILE *fp;int i;fp=fopen(“ out.dar“ ,“ w“ );fprintf(fp,“ %d/n%7.21f/n%7.21f/n“ ,cnt,pjz1,pjz2);fclose(fp);(分数:100.00)_正确答案:(提示:类型:数字统计,数字打散运算。关键:取出一个数的各位数字,以及将各位数字重组成新的数。ai%10 对 10 求余结果为个位数,ai%100/10 先对 100 求余得出后两位数然后再除 10,由于为整数,因此得出后两位数的第一位。依此类推。解答:jsValue()int i,g,s,b,q,w,k=0,n1,n2;for(i=O;i300;i+) /*取出各位数字*/g=ai%10;s=ai%100/10;b=ai/100%10;q=ai/1000%10;w=ai/lO000;/*重组新数*/n1=w*100+b*10+g;n2=q*10+s;/*判断条件*/ if(n1%n2=0) cet+;pjz1+-ai;else k+;pjz2+=ai; /*计算平均值*/pjz1/=cnt;pjz2/=k;)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1