计算机等级三级数据库上机题及答案精编.docx
上传人:建英****66 上传时间:2024-09-14 格式:DOCX 页数:4 大小:11KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机等级三级数据库上机题及答案精编.docx

计算机等级三级数据库上机题及答案_1.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

计算机等级三级数据库上机题及答案2017年计算机等级三级数据库上机题及答案备考计算机考试过程中,大家对报考科目知识点是否已经掌握了呢?下面是小编分享的2017年计算机等级三级数据库上机题及答案,欢迎大家练习!1.调用函数rwdata(),从IN.dat文件中读取10组数据(m和k值),并嵌套调用primenum函数分别得出array[]数组。请编写函数primenum(intm,intk,intarray[]),该函数的'功能是:将紧靠m的k个素数存入数组array并在屏幕上显示。最后把结果输出到文件OUT.dat中。例如,若输入39,则应输出5711131719232931。注意:部分程序已经给出。请勿改动主函数main()和输出数据函数rwdata()的内容。【答案】voidprimenum(intm,intk,intarray[]){intvalue=m+1;inthalf,n=0,i;while(1){half=value/2;for(i=2;i<=half;i++)if(value%i==0)break;if(i>half){array[n]=value;n++;}if(n>=k)break;value++;}}2.在文件IN.dat中有200个正整数,且每个数均在1000~9999之间。函数RData()读取这200个数存放到数组original中。请编写函数numAscend(),其功能是:要求按每个数的后3位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组result中,如果后3位的数值相等,则按原先的数值进行降序排列。最后调用函数WData(),把结果result输出到文件OUT.dat中。例如,处理前:60125099901270258088处理后:90126012702580885099【答案】voidnumascend(){inti,j,data;for(i=0;i<199;i++)for(j=i+1;j<200;j++){if(original[i]00>original[j]00){data=original[i];original[i]=original[j];original[j]=data;}elseif(original[i]00==original[j]00){if(original[i]<original[j]){data=original[i];original[i]=original[j];original[j]=data;}}}for(i=0;i<10;i++)result[i]=original[i];}3.已知文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。其中:金额=单价×数量。函数RData()读取这100个销售记录并存入结构数组sell中。请编写函数DescSort(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WData(),把结果输出到文件OUT.dat中。【答案】voidDescSort(){inti,j;PROtemp;for(i=0;i<99;i++)for(j=i+1;j<100;j++)if(strcmp(sell[i].code,sell[j].code)<0){temp=sell[i];sell[i]=sell[j];sell[j]=temp;}elseif(strcmp(sell[i].code,sell[j].code)==0){if(sell[i].sum<sell[j].sum){temp=sell[i];sell[i]=sell[j];sell[j]=temp;}}}