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

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

1、三级数据库技术-478 及答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.已知数据文件 in.dat 中存有 300 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从小到大的顺序进行排序。最后 main()函数调用写函数 writeDat()把数组 b 中的数输出到文件 out.dat 中。 例如:6712,6+2=7+1

2、,则该数满足条件存入数组 b 中,且个数 cnt=cnt+1。 8129,8+9!=1+2,则该数不满足条件忽略。 程序中已定义数组:a300,b300,已定义变量:cnt 请勿改动数据文件 in.dat 中的任何数据、主函数 main()、读函数 readDat()和写函数 writeDat()的内容。#include stdio.h int a300, b300, cnt=0; void writeDat(); void readDat(); void jsValue() main() int i; readDat(); jsValue(); writeDat(); printf(“cnt

3、=%dn“, cnt); for(i=0; icnt; i+) printf(“b%d=%dn“, i, bi); 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; int i; fp=fopen(“out.dat“, “w“); fprintf(fp, “%dn“, cnt); for(i=0; icnt; i+) fprintf(fp, “%dn“, bi); fclose(fp

4、); (分数:100.00)_三级数据库技术-478 答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.已知数据文件 in.dat 中存有 300 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从小到大的顺序进行排序。最后 main()函数调用写函数 writeDat()把数组 b 中的数输出到文件 out.dat 中。 例

5、如:6712,6+2=7+1,则该数满足条件存入数组 b 中,且个数 cnt=cnt+1。 8129,8+9!=1+2,则该数不满足条件忽略。 程序中已定义数组:a300,b300,已定义变量:cnt 请勿改动数据文件 in.dat 中的任何数据、主函数 main()、读函数 readDat()和写函数 writeDat()的内容。#include stdio.h int a300, b300, cnt=0; void writeDat(); void readDat(); void jsValue() main() int i; readDat(); jsValue(); writeDat(

6、); printf(“cnt=%dn“, cnt); for(i=0; icnt; i+) printf(“b%d=%dn“, i, bi); 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; int i; fp=fopen(“out.dat“, “w“); fprintf(fp, “%dn“, cnt); for(i=0; icnt; i+) fprintf(fp, “%dn“,

7、bi); fclose(fp); (分数:100.00)_正确答案:()解析:int i, j, qw, bw, sw, gw, tmp; for(i=0; i300; i+) qw=ai/1000; bw=(ai-qw*1000)/100; sw=(ai-qw*1000-bw*100)/10; gw=ai%10; if(qw+gw-bw-sw=0) /如果 ai千位上数加上其个位上的数减去其百位上的数减去其十位上的数等于 0 bcnt+=ai; for(i=0; icnt-1; i+) for(j=i+1; jcnt; j+) if(bibj) tmp=bj; bj=bi; bi=tmp; 解析 千位+个位等于百位+十位个数,把所有满足此条件的数依次存入数组,按从小到大的顺序排序。通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“个位+千位=百位+十位”,参考答案的第 8 条语句,修改 if 条件语句的判断条件即可,对于数据交换的整型变量 tmp 可以自定义其变量名。

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

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

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