全国计算机三级数据库专业技术上机试题道

上传人:千****8 文档编号:115648290 上传时间:2019-11-14 格式:DOC 页数:93 大小:2.27MB
返回 下载 相关 举报
全国计算机三级数据库专业技术上机试题道_第1页
第1页 / 共93页
全国计算机三级数据库专业技术上机试题道_第2页
第2页 / 共93页
全国计算机三级数据库专业技术上机试题道_第3页
第3页 / 共93页
全国计算机三级数据库专业技术上机试题道_第4页
第4页 / 共93页
全国计算机三级数据库专业技术上机试题道_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《全国计算机三级数据库专业技术上机试题道》由会员分享,可在线阅读,更多相关《全国计算机三级数据库专业技术上机试题道(93页珍藏版)》请在金锄头文库上搜索。

1、全国计算机三级数据库技术上机试题道 作者: 日期:95 1.【考点分析】 本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。【解题思路】 此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aai%1

2、000);问题2通过包含if判断语句的起泡排序法就可以实现。【参考答案】 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个数存入数组b中*/ bbi=aai;【易错提示】 取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。2.【考

3、点分析】 本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。【解题思路】 分析题干,本题除给出条件SIXSIXSIX NINENINE之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIXSIXSIX NINENINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足

4、则个数加1,并将该3位数及4位数添加到和值中。【参考答案】 void countValue() int i,j; int s2; int n2,n3,n4; for(i=100;i1000;i+) for(j=1000;j10000;j+) if(i*3=j*2) s2=i%100/10; n4=j/1000; n3=j%1000/100; n2=j%100/10; if(s2=n3&n2=n4) cnt+; sum+=i+j; 【易错提示】 隐含条件未被分析出或分析错误,整数数位分解的算术方法使用错误。3.【考点分析】 本题考查的知识点包括:C语言中文件读函数,if条件判断结构,对多个整数求

5、平均值和方差的算法等。【解题思路】 此题属于数学类问题。分析题干要求,得出解本题主要需解决3个问题:问题1如何实现从已打开的文件中依次读取数据到数组的操作,问题2如何分离并统计出奇数和偶数的个数及和值,并计算平均值;问题3如何计算奇数的方差。本题的解题思路为:首先使用C语言的库函数fscanf()将文件中的数依次读入数组xx中,然后通过循环判断得出需要的数据(奇数个数、偶数个数、奇数及偶数的和);最后根据题目中已给出的公式和之前保存的数据计算出奇数的方差。【参考答案】 int ReadDat(void) FILE *fp; int i,j; /*计数器变量*/ if(fp=fopen(IN.D

6、AT,r)=NULL) return 1;for(i=0;i100;i+) /*依次读取整型数据放入数组xx中*/ for(j=0;j10;j+) fscanf(fp,%d,&xxi*10+j); fscanf(fp,n); if(feof(fp) break; /*文件读取结束,则退出*/ fclose(fp); return 0;void Compute(void) int i; /*定义循环控制变量*/ int ttMAX;/*定义数组保存奇数*/ for(i0;i1000;i)if(xxi%2!0) odd; /*计算出xx中奇数的个数odd*/ave1xxi;/*求奇数的和*/tto

7、dd1xxi; /*将奇数存入数组tt中*/else even;/*计算出xx中偶数的个数even*/ave2xxi;/*求偶数的和*/ave1/odd; /*求奇数的平均值*/ave2/even;/*求偶数的平均值*/for(i0;iodd;i)totfc(ttiave1)*(ttiave1)/odd; /*求所有奇数的方差*/【易错提示】 文件操作函数fscanf()和feof()的用法,if判断语句中逻辑表达式,对方差计算公式运用错误。4. 【考点分析】 本题考查对一定范围内整数的筛选。考查的知识点主要包括:多位整数的分解算法,完全平方数判断方法,if判断语句和逻辑表达式。【解题思路】

8、此题属于数学类问题。分析题干,本题需注意2个关键点:关键点1判断该数是否是完全平方数;关键点2判断该数是否有两位数数字相同。本题的解题思路为:通过循环控制,依次判断100至999数是否满足关键点1(是否为完全平方数)。如果是,则将该数分解出各位数数字,并判断是否有两位数数字相同,如果存在,则个数加1,并将该数存入数组中。【参考答案】 int jsValue(int bb) int i,j; /*定义循环控制变量*/int cnt=0; /*定义计数器变量*/int a3,a2,a1; /*定义变量存储三位数每位的数字*/for(i=100;i=999;i+) /*在该范围中找符合条件的数*/

9、for(j=10;j=sqrt(i);j+) if(i=j*j) /*如果该数是完全平方数*/ a3=i/100; /*求该数的百位数字*/ a2=i%100/10; /*求该数的十位数字*/ a1=i%10; /*求该数的个位数字*/ if(a3=a2 | a3=a1 | a2=a1) /*有两位数字相同*/ bbcnt=i; /*则把该数存入数组bb中*/ cnt+; /*统计满足条件的数的个数*/ return cnt; /*返回满足该条件的整数的个数*/【易错提示】 完全平方数的判断方法错误,分解整数各个数位的方法错误,if判断语句中表达式。5. 【考点分析】 本题考查对一定范围内整数

10、的筛选。考查的知识点主要包括:多位整数的分解算法,素数的判断算法,if判断语句和逻辑表达式。【解题思路】 此题属于数学类问题。分析题干要求,归纳出本题的2个关键点:关键点1判断该数是否为素数;关键点2判断是否满足条件:个位数字和十位数字之和被10除所得余数等于百位数字。本题思路为:通过循环语句,依次求出所有3位数的各位数数字,并判断是否满足关键点2(个位数字和十位数字之和被10除所得余数等于百位数字),如果满足则判断该数是否为素数,如果是则个数加1,并将该数加到和值中。判断的方法为:依次取从2到该数1/2的数去除这个数,如果有一个可被整除,则不是素数,如果循环后的数大于该数的一半就可以判定该数

11、是一个素数。【参考答案】 void countValue() int i,j; /*定义循环控制变量*/int half;int a3,a2,a1; /*定义变量存储3位数每位的数字*/for(i=101;i1000;i+) /*在该范围内寻找符合条件的数*/ a3=i/100; /*求百位数字*/ a2=i%100/10; /*求十位数字*/ a1=i%10; /*求个位数字*/ if(a3=(a2+a1)%10) /*如果个位数字与十位数字之和被10除所得余数恰是百位数字*/ half=i/2; for(j=2;j=half;j+) /*进一步判断该数是否为素数*/ if(i%j=0) break; /*如果不是素数,则跳

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号