计算机三级数据库技术(上机操作)机试模拟试卷4(共9题)_第1页
计算机三级数据库技术(上机操作)机试模拟试卷4(共9题)_第2页
计算机三级数据库技术(上机操作)机试模拟试卷4(共9题)_第3页
计算机三级数据库技术(上机操作)机试模拟试卷4(共9题)_第4页
计算机三级数据库技术(上机操作)机试模拟试卷4(共9题)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机三级数据库技术(上机操作)机试模拟试卷4(共9套)(共9题)计算机三级数据库技术(上机操作)机试模拟试卷第1套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中t金额由公式金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构体数组sell中。请编写函数SortDat(),其功能是:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构体数组sell中。最后通过main()函数调用函数WriteDat(),把结果输出到文件out.dat中。【试题程序】#include#include#include#defineMAX100typedefstruct{charamES];/*产品代码*/charmc[11];/*产品名称*/intd;/*单价*/intsl;/*数量*/longje;/*金额*/}PR0;PROsell[MAX];voidReadDat();voidWriteDat():voidSortDat(){}voidmain(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstr[80],ch[11];inti;fp=fopen(“in.dat”,“r”);for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sellEi].dm,str,4);memcpy(sellEi].me,str+4,10);memcpy(ch,str+14,4);eh[4]=0;sellEi3.dj=atoi(ch);memcpy(ch,str+18,5);chE5]=0;sellEi].sl=atoi(eh);sell[i].je=(10ng)sell[i].dj*sell[i].sl;}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen(“out.dat”,“w”);for(i=0;i<100li++){fprintf(fp%ss%4d%5d%101d\n”,sell[i].dm,sell[i].me,sell[i].dj,sell[i].sl,sell[i].je);}felose(fp);}标准答案:voidSortDat(){inti,j;/*定义变量*/PR()templfor(i=0;isell[i].je)/*判断条件*/{temp=sell[i];sell[i]=sell[j];sell[j]=tempt}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第2套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存人数组a中,请编写函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字)。如果两个新组成的数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存人数组b中,并计算满足上述条件的四位数的个数cnt。最后通过main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。【试题程序】#include#defineMAX200intaI-MAX],bI-MAXI,cnt=0;voidwriteDat();intisprime(intm){inti:for(i一2;i<一m/Z;i++)if(m%i==0)return0;return1;}voidjsVal(){}voidreadDat(){inti:FILE*fp;fp=fopen(“in.dat”,“r”);for(i=0;i标准答案:voidjsVal(){inti,j;/*定义变量*/inta1,a2,a3,a4;intab,cd;inttemp}for(i=0;i知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第3套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位)。产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额一单价*数量。函数ReadDat()读取这100个销售记录并存人结构数组sell中。请编写函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从大到小进行排列,最终排列结果仍存人结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件out.dat中。【试题程序】#include#include#include#defineMAX100typedefstruct{chardm[5];/*产品代码*/charmc[111;/*产品名称*/intdj;/*单价*/intsl;/*数量*/longje;/*金额*/}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){}voidmain(){memset(sell,0,sizeof(sell)):ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp:charstr[80],ch[11];inti;fp=fopen(“in.dat”,“r”);for(i=0;i<100;i++)(fgels(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj:atoi(ch);memcpy(ch,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(10ng)sell[i].di*sell[i].sl;}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen(“out.dat”,“W”);for(i=0;i<100;i++){fprintf(fp,“%s%s%4d%5d%10td\n”,sell[i].dm,sell[i].me.sell[i].dj,sell[i].sl,sell[i].je);}fclose(fp);}标准答案:voidSortDat(){inti,j;/*定义变量*/PROtemp;for(i=0;i知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第4套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额由公式金额一单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构体数组sell中。请编写函数SortDat()。其功能是:按金额从大到小进行排列,若金额相等,则按产品名称从小到大进行排列,最终排列结果仍存人结构体数组sell中。最后通过main()函数调用函数WriteDat(),把结果输出到文件out.dat中。【试题程序】#include#include#include#defineMAX100typedefstruct{chardm[5];/*产品代码*/charmc[11];/*产品名称*/intdj;/*单价*/intsl;/*数量*/longje;/*金额*/}PR0;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){}voidmain(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstr[80],ch[111;inti;fp=fopen(”in.dat”,”rII);for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,10)lmemcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memepy(eh,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(10ng)sell[i].dj*sell[i].sl;}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen(“out.dat”,“w”);for(i=0Ii<100;i++){fprintf(fp,“%s%s%4d%5d%101d\n”,sell[i].dm,sell[i].mc,sell[i].dj,sell[i].s1.sell[i].je);}fclose(fp);}标准答案:voidSortDat(){inti,j;/*定义变量*/PROtemp;for(i=0;i0)/*判断条件*/{temp=sell[i]sell[i]=sell[j]sell[j]=temp;}}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第5套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存人数组a中.请编写函数jsVal().其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。【试题程序】#include#defineMAX200inta[MAX],b[MAX],cnt=0;voidwriteDat();voidjsVal(){}voidreadDat(){inti;FILE*fp;fp=fopen(“in.dat”,“r”);for(i=0Ii标准答案:voidjsVal(){inti,j}/*定义变量*/intal,a2,a3,a4;intab,cd;inttemp;for(i=0cd&&ab%2==0&&ab%5==0&&cd%2==1&&a4!=0&&a1!=0)/*判断条件*/b[cnt++]=a[i];}for(i=0;i知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第6套一、程序设计题(本题共1题,每题1.0分,共1分。)1、对10个候选人进行选举。现有一个100条记录的选票数据文件in.dat,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个候选人的选中情况,第二位表示第二个候选人的选中情况,以此类推;每一位内容均为字符“0”或“1”,“1”表示此人被选中,“0”表示此人未被选中。若一张选票选中人数大于5个人时。被认为无效的选票,则不作统计。给定函数ReadDat()的功能是把选票数据读人到字符串数组XX中。请编写函数CountRs()来统计每个候选人的选票数并把得票数依次存人yy[0]到yy[9]中,即第一个候选人的得票数存入yy[0]中。以此类推。最后调用函数WriteDat()把结果yy输出到文件out.dat中。【试题程序】#include#includecharxxElOO]E11];intyy[10];intReadDat(void);voidWriteDat(void);voidCountRS(void){/*每一条记录的选票情况已作为字符串存入xx[i]为起始地址的存储单元内*//*例如:第10条记录的第一个候选人的选中情况的条件是if(xx[9][0]==1)*//*该提示仅供解题参考,考生也可用其他方法解题*/}voidmain(){inti;for(i=0}i<10;i++)yy[i]=0;if(ReadDat()){printf(“选票数据文件IN.DAT不能打开!\007\n”);return;}CountRs();WriteDat();}intReadDat(void){FILE*fp;inti;chartt[13];if((fp=fopen(“in.dat”.“r”))==NULL)return1;for(i=0;i<100;i++){if(fgets(tt,13,fp)=一NULL)return1;memcpy(xx[i],tt,10);xx[i][10]=0;}fclose(fp);return0;}voidWriteDat(void){FILE*fp:inti;fp=fopen(“out.dat”,“W”);for(i=0;i<10;i++){fprintf(fp,“%d\n”,yy[i]);printf(“第%d个人的选票数=%d\n”,i+1,yy[i]);}felose(fp);}标准答案:voidCountRs(void){inti。j,cnt;/*定义变量*/for(i=0;i<100;i++)/*逐张处理选票*/{cnt=0;for(j=0;j<10Ij++)/*统计选中人数*/if(xxEilEjl==1)cnt++;if(cnt>5)/*判断条件*/continue;for(j=0,j<10;j++)/*统计得票*/if(xxDlEjl==’1’)yyrj]++;}}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第7套一、程序设计题(本题共1题,每题1.0分,共1分。)1、函数ReadDat()实现从数据文件in.dat巾读取一篇英文文章存入到字符串数组xx中,请编写函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母。如果是字母z,则改写成字母a.大写字母和其他字符保持不变,把已处理的字符串仍按行重新存入字符串数组XX中。最后通过main()函数调用函数WriteDat()。把结果XX输出到文件out.dat中。例:原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLik原始数据文件存放的格式是。每行的宽度均小于80个字符.含标点符号和空格。【试题程序】#include#includecharxxfi5031803;intmaxline=0l/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidConvertCharA(void){}voidmain(){if(ReadDat())fprintf(“数据文件IN.DAT不能打开\n\007”);return;}ConvertCharA();WriteDat();}intReadDat(void){FILE*fp;inti=0;char*P;if((fp=fopen(”in.dat”,”r”))==NULL)return1;while(fgets(xx~i3.80,fp)!=NULL){p=strchr(xx[i]\n,);if(p)*p=0;i++1}maxline=i;fclose(fp);return0;}voidWriteDat(void){FILE*fp;inti;fp=fopen(“out.dat”。“W”);for(i=0Ii标准答案:voidConvertCharA(void){inti,j;/*定义变量*/for(i=0;i=a,8L&xxEi]Ej]<=z)if(xx[i][j]==z)xx[i][j]=a;elsexx[i][j]++;}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第8套一、程序设计题(本题共1题,每题1.0分,共1分。)1、在数据文件in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组XN中。请编写函数CalValue(),其功能要求:①求出这文件中共有多少个正整数totNum。②求出这些正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果输出到out.dat文件中。【试题程序】#include#defineMAXNUM200intxx[MAXNUM];inttotNum=0;/*文件IN.DAT中共有多少个正整数*/inttotCnt=0;/*符合条件的正整数的个数*/doubletotPjz=0.0,/*平均值*/intReadDat(void);voidWriteDat(void);voidCalValue(void){}voidmain(){inti;for(i=0;i标准答案:voidcalvalue(void){inti;/*定义变量*/inta1,a2,a3,a4;for(i=0;i0){totNum++;a1=xx[i]%10;/*数位分解*/a2=xx[i]%100/10;a3=xx[i]%1000/100;a4=xx[i]/1000;if((a1+a2+a3+a4)%2==0){totCnt++;totPjz+=xxC[i];}}totPjz/=totCnt;/*求平均值*/}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第9套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称me(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额由公式金额一单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构体数组sell中。请编写函数SortDat()。其功能是:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论