欢迎来到天天文库
浏览记录
ID:15087398
大小:92.00 KB
页数:12页
时间:2018-08-01
《全国计算机三级考试数据库技术上机练习题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、全国计算机三级考试数据库技术上机练习题及答案(1)1.调用函数rwdata(),从IN.dat文件中读取10组数据(m和k值),并嵌套调用primenum函数分别得出array[]数组。请编写函数primenum(intm,intk,intarray[]),该函数的功能是:将紧靠m的k个素数存入数组array并在屏幕上显示。最后把结果输出到文件OUT.dat中。例如,若输入39,则应输出5711131719232931。注意:部分程序已经给出。请勿改动主函数main()和输出数据函数rwdata()的内容。【答案】voidprimenu
2、m(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
3、中。请编写函数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(ori
4、ginal[i]%1000>original[j]%1000) {data=original[i]; original[i]=original[j]; original[j]=data; } elseif(original[i]%1000==original[j]%1000) {if(original[i]5、ult[i]=original[i]; }3.已知文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。其中:金额=单价×数量。函数RData()读取这100个销售记录并存入结构数组sell中。请编写函数DescSort(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WData(),把结果输6、出到文件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].sum7、ll[i]; sell[i]=sell[j]; sell[j]=temp; } }}4.函数RData()实现从文件IN.dat中读取一篇英文文章,存入到字符串数组str中;请编写encryptChar()函数,其功能是:按给定的替代关系对数组str中的所有字符进行替代,仍存入数组str对应的位置上,最后调用函数WData(),把结果str输出到文件OUT.dat中。 替代关系:f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于1等于32或大于18、30,则该字符不变,否则将f(p)所对应的字符进行替代。原始数据文件存放的格式是:每行的宽度均小于80个字符。【答案】voidencryptChar() {inti; char*pf; for(i=0
5、ult[i]=original[i]; }3.已知文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。其中:金额=单价×数量。函数RData()读取这100个销售记录并存入结构数组sell中。请编写函数DescSort(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WData(),把结果输
6、出到文件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].sum7、ll[i]; sell[i]=sell[j]; sell[j]=temp; } }}4.函数RData()实现从文件IN.dat中读取一篇英文文章,存入到字符串数组str中;请编写encryptChar()函数,其功能是:按给定的替代关系对数组str中的所有字符进行替代,仍存入数组str对应的位置上,最后调用函数WData(),把结果str输出到文件OUT.dat中。 替代关系:f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于1等于32或大于18、30,则该字符不变,否则将f(p)所对应的字符进行替代。原始数据文件存放的格式是:每行的宽度均小于80个字符。【答案】voidencryptChar() {inti; char*pf; for(i=0
7、ll[i]; sell[i]=sell[j]; sell[j]=temp; } }}4.函数RData()实现从文件IN.dat中读取一篇英文文章,存入到字符串数组str中;请编写encryptChar()函数,其功能是:按给定的替代关系对数组str中的所有字符进行替代,仍存入数组str对应的位置上,最后调用函数WData(),把结果str输出到文件OUT.dat中。 替代关系:f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于1等于32或大于1
8、30,则该字符不变,否则将f(p)所对应的字符进行替代。原始数据文件存放的格式是:每行的宽度均小于80个字符。【答案】voidencryptChar() {inti; char*pf; for(i=0
此文档下载收益归作者所有