ImageVerifierCode 换一换
格式:DOCX , 页数:97 ,大小:44.48KB ,
资源ID:5921650      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5921650.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国计算机等级三级数据库上机题库100题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国计算机等级三级数据库上机题库100题.docx

1、全国计算机等级三级数据库上机题库100题1.已知数据文件IN1.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal( ),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT1.DAT文件。【答案】void jsVal()int i,j; /*定义循环控制变量*/int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/int temp; /*定义数据交换时的暂存变量*/for(i=

2、0;i200;i+) /*逐个取每一个4位数*/a4=ai/1000; /*求4位数的千位数字*/a3=ai%1000/100; /*求4位数的百位数字*/a2=ai %100/10; /*求4位数的十位数字*/a1=ai %10; /*求4位数的个位数字*/ if(a4%2!=0 & a3%2!=0 & a2%2!=0 & a1%2!=0) /*如果4位数各位上的数字均是奇数*/bcnt=ai; /*将满足条件的数存入数组b中*/ cnt+; /*统计满足条件的数的个数*/for(i=0;icnt-1;i+) /*将数组b中的数按从大到小的顺序排列*/for(j=i+1;jcnt;j+)if

3、(bibj)temp=bi;bi=bj;bj=temp;2.已知IN2.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数 jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat() 把结果cnt及数组b中符合条件的4位数输出到 OUT2.DAT文件中。【答案】void jsVal()int i,j; /*定义循环控制变量*/int temp; /*定义数据交换时的暂存变量*/for(i=

4、0;iMAX-5;i+) /*逐个取每个4位数*/ if(ai%2!=0) /*如果当前数是奇数*/for(j=i+1;j=i+5;j+) /*取该数后面的5个数进行比较*/if(aiaj)break; /*如果当前数不满足比后面5个数都大的条件,则跳出循环*/if(j=i+6) /*如果当前数比后面的5个数都大*/ bcnt=ai; /*将满足条件的数存入数组b中*/cnt+; /*并统计满足条件的数的总个数*/for(i=0;icnt-1;i+) /*利用选择法对数组b中的元素进行从小到大的排序*/for(j=i+1;jbj)temp=bi;bi=bj;bj=temp;3. 已知在文件IN

5、3.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT3.DAT中。【答案】void SortDat()int i,j; /*定义循环控制变量*/PRO temp; /*

6、定义数据交换时的暂存变量(这里是PRO类型的结构体变量)*/for(i=0;i99;i+) /*利用选择法进行排序*/for(j=i+1;j0) /*按产品名称从小到大进行排列*/temp=selli;selli=sellj;sellj=temp;else if(strcmp(selli.mc,sellj.mc)=0) /*若产品名称相同*/if(selli.jesellj.je) /*则按金额从小到大进行排列*/temp=selli;selli=sellj;sellj=temp;4. 函数ReadDat()的功能是实现从文件ENG4.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数

7、encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DAT中。替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。【答案】void encryptChar()int i,j; /*定义循环控制变量*/int str; /*存储字符串的长度*/char ch; /*存储当前取得的字符*/for(i=0;imaxl

8、ine;i+) /*以行为单位获取字符*/str=strlen(xxi); /*求得当前行的字符串长度*/for(j=0;jstr;j+) /*依次取每行的各个字符*/ ch=xxij *11%256;if(ch130)continue; /*如果计算后的值小于等于32或大130,则该字符不变*/elsexxij=ch; /*否则将所对应的字符进行替代*/5. 函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字

9、母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。例如,原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLik原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。【答案】void ConvertCharA(void)int i,j; /*定义循环控制变量*/int str; /*存储字符串的长度*/for(i=0;imaxline;i+) /*以行为单位获取字符*/str=strlen(xxi); /*求得当前行

10、的字符串的长度*/for(j=0;j=a & xxij=z) /*如果是小写字母*/if(xxij=z)xxij=a; /*如果是小写字母z,则改写成字母a*/elsexxij+=1; /*其他的小写字母则改写为该字母的下一个字母*/6. 在文件IN6.DAT中有200个正整数,且每个数均在1000至9999之间。函数readDat()的功能是读取这200个数存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按每个数的后3位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后3位相等的数,则对这些数按原始4位数据进行升序排列。最后调用函数writeDat()

11、把结果bb输出到文件OUT6.DAT中。例如:处理前 9012 5099 6012 7025 8088处理后 5099 8088 7025 6012 9012【答案】void jsSort()int i,j; /*定义循环控制变量*/int temp; /*定义数据交换时的暂存变量*/for(i=0;i199;i+) /*用选择法对数组进行排序*/for(j=i+1;j200;j+)if(aai%1000aaj) *则按原4位数的大小进行升序排序*/temp=aai;aai=aaj;aaj=temp; for(i=0;i10;i+) /*将排序后的前10个数存入数组bb中*/ bbi=aai;

12、7. 函数ReadDat( )的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD( ),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat( )把结果xx输出到文件OUT7.DAT中。例如,原文:dAe,BfCCCbbAA结果:fedCBA,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。【答案】void SortCharD()int i,j,k; /*定义循环控制变量*/int str; /*存储字符串的长度*/char te

13、mp; /*定义数据交换时的暂存变量*/for (i=0;imaxline;i+) /*以行为单位获取字符*/str=strlen(xxi); /*求得当前行的字符串长度*/for(j=0;jstr-1;j+) /*对字符按从大到小的顺序进行排序*/for(k=j+1;kstr;k+)if(xxijxxik)temp=xxij; xxij=xxik; xxik=temp; 8. 对10个候选人进行选举,现有一个100条记录的选票数据文件IN8.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依次类推。每一位内容均为字符0或1,1表

14、示此人被选中,0表示此人未被选中,若一张选票选中人数小于等于5个人时则被认为是无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy0到yy9中,最后调用函数WriteDat()把结果yy输出到文件OUT8.DAT中。【答案】void CountRs(void)int i,j; /*定义循环控制变量*/int cnt; /*用来存储每张选票中选中的人数,以判断选票是否有效*/for(i=0;i10;i+) /*初始化数组yy*/yyi=0;for(i=0;i100;i+) /*依次取每张选票进行统计

15、*/cnt=0; /*初始化计数器变量*/for(j=0;j5) /*当cnt值大于5时为有效选票*/for(j=0;j10;j+) /*统计有效选票*/if(xxij= 1)yyj+;9. 下列程序的功能是:利用以下所示的简单迭代方法求方程:cos (x) -x=0的一个实根。xn+1=cos(xn )迭代步骤如下:(1)取x1初值为0.0。(2)x0=x1,把x1的值赋给x0。(3)x1=cos(x0),求出一个新的x1。(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2)。(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。请编写函数cou

16、ntValue ( )实现程序要求,最后调用函数writeDAT( )把结果输出到文件out9.dat中。【答案】float countValue( ) float x0,x1=0.0; /*定义两个浮点型变量进行迭代*/while(1) /*无条件循环*/ x0=x1; /*将x1值赋给x0*/x1=cos(x0); /*求出新的x1值*/if(fabs(x0-x1)1e-6) break; /*若x0-x1的绝对值小于0.000001,则结束循环*/return x1; /*返回x1的值*/10. 请编写函数void countValue(int *a,int *n),它的功能是:求出1到

17、1000之内能被7或11整除但不能同时被7和11整除的所有整数并存放在数组a中,并通过n返回这些数的个数。【答案】void countValue(int *a,int *n)int i; /*定义循环控制变量*/*n=0; /*初始化计数器变量*/for(i=1;i=1000;i+) /*在这个范围内寻找符合条件的数*/if(i%7=0 & i%11!=0)|(i%7!=0 & i%11=0) /*如果当前数可以被7整除而不可以被11整除,或者可以被11整除而不可以被7整除*/*a=i; /*保存符合条件的数*/*n=*n+1; /*统计符合条件的数的个数*/a+;11. 已知在文件IN11.

18、DAT中存有若干个(个数200)4位数字的正整数,函数ReadDat() 的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出该文件中共有多少个正整数totNum;(2)求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文件OUT11.DAT中。【答案】void CalValue(void)int i; /*定义循环控制变量*/int data; /*用于保存处理后产生的新数*/for(i=0;i0) /*判断是否正整数*/to

19、tNum+; /*统计正整数的个数*/data=xxi1; /*将数右移一位*/if(data%2=0) /*如果产生的新数是偶数*/totCnt+; /*统计这些数的个数*/totPjz+=xxi; /*并将满足条件的原数求和*/totPjz/=totCnt; /*求满足条件的这些数(右移前的值)的算术平均值*/12. 已知数据文件IN12.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的

20、4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT12.DAT文件中。例如:6712,6271,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,891+2,则该数不满足条件,忽略。【答案】void jsValue()int i,j; /*定义循环控制变量*/int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/int temp; /*定义数据交换时的暂存变量*/for(i=0;i300;i+) /*逐个取每一个4位数*/a4=ai/1000; /*求4位数的千位数字*/a3=ai%1000/100; /*求4位数的百位

21、数字*/a2=ai%100/10; /*求4位数的十位数字*/a1=ai%10; /*求4位数的个位数字*/if(a4+a1=a3+a2) /*如果千位数加个位数等于百位数加十位数*/bcnt=ai; /*将满足条件的数存入数组b中*/cnt+; /*统计满足条件的数的个数cnt*/for(i=0;icnt-1;i+) /*用选择法对数组b中的4位数按从小到大的顺序进行排序*/for(j=i+1;jbj)temp=bi;bi=bj; bj=temp;13. 已知数据文件IN13.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能

22、是:如果4位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT13.DAT文件中。【答案】void jsVal()int i,j; /*定义循环控制变量*/int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/int temp; /*定义数据交换时的暂存变量*/for(i=0;i200;i+) /*逐个取每一个4位数*/a4=ai/1000; /*求4位数的千位数字*/a3=ai%1000/100; /*求4位数的百位数字*/

23、a2=ai%100/10; /*求4位数的十位数字*/ a1=ai%10; /*求4位数的个位数字*/if(a4%2=0 & a3%2=0 & a2%2=0 & a1%2=0) /*如果各位上的数字均是0或2或4或6或8*/bcnt=ai; /*将满足条件的数存入数组b中*/ cnt+; /*统计满足条件的数的个数cnt*/for(i=0;icnt-1;i+) /*将数组b中的数按从大到小的顺序排序*/for(j=i+1;jcnt;j+)if(bibj)temp=bi;bi=bj;bj=temp;14. 已知数据文件IN14.DAT中存有300个4位数,并已调用读函数readDat()把这些数

24、存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT14.DAT文件。例如:7153,7153,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,81 2+9,则该数不满足条件,忽略。【答案】void jsValue() int i,j; /*定义循环控制变量*/ int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/ int temp; /*定

25、义数据交换时的暂存变量*/for(i=0;i300;i+) /*逐个取每一个4位数*/a4=ai/1000; /*求4位数的千位数字*/a3=ai%1000/100; /*求4位数的百位数字*/a2=ai%100/10; /*求4位数的十位数字*/a1=ai%10; /*求4位数的个位数字*/if (a4+a3=a2+a1) /*如果千位数字加百位数字等于十位数字加个位数字*/bcnt=ai; /*把满足条件的4位数依次存入数组b中*/cnt+; /*计算满足条件的数的个数*/for(i=0;icnt-1;i+) /*对数组b中的4位数按从大到小的顺序进行排序*/for(j=i+1;jcnt;

26、j+)if(bibj)temp=bi;bi=bj;bj=temp;15. 已知数据文件in15.dat中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal( ),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt及数组b中符合条件的4位数输出到out15.dat文件中。【答案】void jsVal() int i

27、,j; /*定义循环控制变量*/int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/int temp; /*定义数据交换时的暂存变量*/for(i=0;i200;i+) /*逐个取每一个4位数*/ a4=ai/1000; /*求4位数的千位数字*/a3=ai%1000/100; /*求4位数的百位数字*/a2=ai%100/10; /*求4位数的十位数字*/a1=ai%10; /*求4位数的个位数字*/if (a4=a3) & (a3=a2) & (a2=a1) & (a1%2=0) /*如果该数的千位数字小于等于百位数字,百位数字小于等于十位数字,十位数字小于等于个位数字,

28、并且此4位数是偶数*/ bcnt=ai; /*则将该数存入数组b中*/cnt+; /*并且统计出满足条件的数的个数*/for(i=0;icnt-1;i+) /*把数组b中的4位数按从小到大的顺序排列*/for(j=i+1;jbj)temp=bi;bi=bj;bj=temp;16. 已知数据文件IN16.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1