版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机三级数据库技术(上机操作)机试模拟试卷11(共9套)(共9题)计算机三级数据库技术(上机操作)机试模拟试卷第1套一、程序设计题(本题共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~string.h>#include#defineMAX100typedefstruct{chardmE5];/*产品代码*/charmc[11];/*产品名称*/intdh\*单价*/ints1;/*数量*/longje;/*金额*/}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){}voidmain(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstrE80],ch[11];inti,fp=fopen(”in.dat”,”r11);for(i=0;i<100Ii++){fgets(str,80,fp),memcpy(sellEi].dm,str,4);memcpy(sell[i].me,str+4,10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch。str+18,5)Ich[5]=0;sell[i].sl=atoi(ch);sell[i].je=(10ng)sell[i].ai*sellEi].sl,}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen(“out.dat”,“W”);for(i=0;i<<100;i++){fprintf(fp,“%s%s%4d%SdOA101d\n”,sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);}fclose(fp);}标准答案:voidSortDat(){inti,j;/*定义变量*/PROtemp;for(i一0;isell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)>0)/*判断条件*/{temp—sellEi];sell[i]=sellPj];sellEj]:templ}}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第2套一、程序设计题(本题共1题,每题1.0分,共1分。)1、在数据文件in.dat中存放有200组数据,每组有3个数,每个数均是三位数。函数readDat()实现读取这200组数据并存放到结构体数组aa中。请编写函数jsSort(),其功能是:要求在200组数据中找出每组数据中的第一个数大于第二个数与第三个数之和.其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构体数组bb中,再对bb中的数据按照每组数据的第一个数与第三个数之和的大小进行升序排列(第一个数与第三个数的和均不相等)。排序后的结果仍重新存人结构体数组bb中,最后通过调用函数writeDat(),把结果bb输出到out.dat文件中。【试题程序】#include#includevoidreadDat();voidwriteDat(intcount);typedefstruct{intx1,x2,x3;}Data;Dataaa[200],bb[200];intjsSort(){}voidmain(){intcount;readDat();count=jsSort();/*返回满足条件的个数*/writeDat(count);}voidreadDat(){FILE*in;inti;in=fopen(“in.dat”,“r”);for(i=0;i<200;i++)fscanf(in,“%d,%d,%d”,&aa[i].x1,&aa[i].x2,&aa[i].x3);fclose(in);}voidwriteDat(intcount){FILE*out;inti;out=fopen(“out.dat”。“W”);for(i=0;i标准答案:intjsSort(){inti.j;/*定义变量*/Datatemp;intcnt=0;for(i=0;i<200;i++)if(aa[i].xlS>aa[i].x2+aa[i].x3)/*判断条件R-/bbEcnt++]=aaEi]lfor(i=0;ibb[i].x1十bb[j].x3){temp=bb[i];bb[i]=bb[j];bbEj]=temp;}returncnt;/*返回函数值*/}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第3套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件in.dat中存有300个四位数,并已调用读函数readl)at()把这些数存入数组a中,请编写函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,冉把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后nmin()函数调用写函数writeDat()把数组b中的数输出到文件out.dat中。例如:7153,7+1=5+3,则该数满足条件存人数组b中,且个数cnt=cht+1。8129,8+11=2+9,则该数不满足条件.忽略。【试题程序】#includeintat3003.br3001,cnt=0;voidreadDat();voidwriteDat();jsValue(){}main(){inti;readDat();jsValue();writeDat();printf(“cnt=%d\n”,cnt);for(i=0;i标准答案:jsValue(){inti,j;/*定义变量*/inta1,a2,a3,a4;inttemp;for(i=0;i<300;i++){a1=a[i]%10;/*数位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4+a3==a2+a1)/*判断条件*/b[cnt++]=a[i];}for(i=0;i知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第4套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件progl.c中的程序的功能是:计算100以内满足以下条件所有整数i的个数cnt以及这些i之和sum。条件:i、i+4、i+10都是素数,同时i十10小于100。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件out.dat中(数值1不是素数)。【试题程序】#includevoidwriteDAT();intcnt,sum;voidcountValue(){}voidmain(){cnt=sum=0;countValue();printf(“满足条件的整数的个数=%d\n”,cnt);printf(”满足条件的整数的和值=%dkn”,sum);writeDAT();}voidwriteDAT(){FILE*fp;fp=fopen(“out.dat”,“w”);fprintf(fp,“%d\n~dkn”,cnt,sum);fclose(fp);}标准答案:voidcountValue(){inti,j;/*定义变量*/for(i=2;i+10<100li++){for(j=2;j知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第5套一、程序设计题(本题共1题,每题1.0分,共1分。)1、函数ReadDat()实现从数据文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编写函数encryptChar(),按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组XX的对应的位置上,最后调用函数WriteDat()把结果XX输出到文件out.dat中。替代关系:f(p)=P*11mod256,mod为取余运算,P是数组XX中某一个字符的ASCⅡ码值,f(p)是计算后得到的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)的值小于等于32或f(p)对应的字符是小写字母,则该字符不变。否则用f(p)替代所对应的字符。【试题程序】#include#include#includeunsignedcharxxESO][80]}intmaxline=0;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidencryptChar()}voidmain(){if(ReadDat()){printf(“数据文件IN.DAT不能打开!\n\007”);return;}encryptChar();WriteDat();}intReadDat(void){FILE*fp;inti=0:unsignedchar*p;if((fp=fopen(“in.dat”,”r”))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],\n’);if(p)*p=0;i++:}maxline=i;felose(fp);return0,}voidWriteDat(void){FILE*fp;inti;fp=fopen(“out.dat”,“W”);for(i=0;i%maxline;i++){printf(”%s\n”,xx[i]);fprintf(fp,“%s\n”,xx[i]);}fclose(fp);}标准答案:voidencryptChar(){inti,j,val}/*定义变量*/for(i=0;i=a&&.val<一z)/*判断条件*/continue;elsexx[i][j]=val;}}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第6套一、程序设计题(本题共1题,每题1.0分,共1分。)1、函数ReadDat()实现从数据文件in.dat中读取一篇英文文章存入到字符串数组xx中;请编写函数StrOL(),其函数的功能是:以读入文章的行为单位。以空格或标点符号(数据文件中仅含“。”或“.”作为标点符号)作为分隔符,对行中所有单词进行倒排,单词间必须以空格作为分隔符,之后把已处理的字符串(分隔符只包含空格)仍按行重新存入字符串数组XX中。最后main()函数调用函数WriteDat()把结果XX输出到文件out.dat中。例如:原文:YOUHeMeIamastudent.Ilikestudy.结果:MeHeYOUstudylikeIstudentaamI【试题程序】#include#include#includecharxxE503E803;intmaxline=0;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidStrOL(void){}voidmain(){if(ReadDat()){printf(“数据文件IN.DAT不能打开!\n\007”);return;}StrOL();WriteDat();}intReadDat(void){FILE*fp:inti=0:char*P;if((fp=fopen(”in.dat”,”r”))==NULL)return1;while(fgets(xx[i]1,80,fp)!=NULL){p=strchr(xxEi-I,’\n’);if(p)*p=0;i++;}maxline=i;fclose(fp);return0;}voidWriteDat(void){FILE*fp;inti;fp=fopen(“out.dat”,”w”);for(i=0;i标准答案:voidStrOL(void){inti,j;/*定义变量*/charstr[801;for(i=0Ii=0;j一一)if(!isalpha(xxB]Ei]))/*提取单词*/{if(isalpha(xxgi][j+1])){strcat(str,xxEi]+j+1);/*保存单词*/strcat(str,””);},xEq[j]=‘\0’;/*设置行尾*/}strcat(str,xx[i]);/*保存第一个单词*/strcpy(xx[i],str);/*复制字符串*/}}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第7套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件progl.C中的程序的功能是:在三位整数(100至999)中寻找符合下面条件的整数,并依次从d,N大存人数组bE-i中。条件如下:某数既是完全平方数,又有两位数字相同,例如144、676等。请编写函数intjsValue(intbbE3)实现此功能,满足该条件的整数的个数通过所编写的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。【试题程序】#includevoidwriteDat(intnum,intbE]);intjsValue(intbbE]){}voidmain(){intbE20],num;num=jsValue(b);writeDat(num.b);}voidwriteDat(intmum,intb[]){FILE*out;inti;out=fopen(“out.dat”,“W”);fprintf(out,“%d\n”,num);for(i=0;i标准答案:intjsValue(intbb[]){inti,cnt=0;/*定义变量*/Inta1,a2,a3;for(i=10Ii*i<=999;i++)/*统计计算*/{a1=i*i%10;/*数位分解*/a2=i*i%100/10;a3=i*i/100;if(a1==a2||a1==a3||a2==a3)/*判断条件*/bb[ent++]=i*i;/*记录数值*/}returncnt;/*返回个数*/}知识点解析:暂无解析计算机三级数据库技术(上机操作)机试模拟试卷第8套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存人数组fl中。请编写函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成的数均是偶数并且至少有一个数能被9整除.同时两个新数的十位数字均不为零。则将满足此条件的四位数按从大到小的顺序存入数组b中,并计算满足上述条件的四位数的个数ent。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。【试题程序】#include#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVaI(){}voidreadDat(){inti;FILE*fp;fp=fopen(“in.dat”,“r”):for(i=0;i标准答
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗健康APP开发指南
- 内科疾病重症监护与护理实践
- 群星的自动探索协议书
- 2026年知识产权考试题及答案解析
- 拆迁之前有个安置协议书
- 委托代理公司变更协议书
- 2022年减免房租协议书
- 项目就餐协议书怎么写
- 商铺转让协议书(范本)
- 和解协议书算履行完毕
- 2024-2025学年辽宁省大连市甘井子区第八十中学上学期七年级数学期末模拟试卷
- 2025年12月保安公司年终工作总结模版(三篇)
- 微生物发酵技术在农产品加工中的应用-洞察分析
- (八省联考) 2025年高考综合改革适应性演练 数学(解析版)
- 机械制造基础-002-国开机考复习资料
- 中等职业学校专业设置与区域产业结构契合度研究
- JTS 206-2-2023 水运工程桩基施工规范
- 高流量湿化仪的使用技术操作及评分标准
- 《港航实务总复习》课件
- 一年级数学100以内100道加减法口算题
- 有机合成路线设计的技巧
评论
0/150
提交评论