【计算机类职业资格】三级数据库技术机试-221及答案解析.doc
-
资源ID:1321259
资源大小:26.50KB
全文页数:3页
- 资源格式: DOC
下载积分:5000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要5000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【计算机类职业资格】三级数据库技术机试-221及答案解析.doc
1、三级数据库技术机试-221 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编制函数 int findValue(int outBuf),其功能是:在 3 位整数(100999)中寻找符合下面条件的整数,并依次从小到大存入数组 b 中;它既是完全平方数,又有两位数字相同,例如 144,676 等。满足该条件的整数的个数通过所编制的函数返回。最后调用函数 WriteData()把结果输出到文件 OUT.DAT 中。注意:部分源程序已给出。请勿改动主函数 main()和写函数 WriteData()的内容。试题程序:#includestdio
2、.hvoid writeData(int,int b);int findValue(int outBuf)void main()int b20,num;num=findValue(b);writeData(num,b);void writeData(int num,int b)FILE*OUt:int i;out=fopen(OUT.DAT“,“w“);printf(“num=%d/n“,num);fprintf(out,“num=%d/n“,num);for(i=0;inum;i+)printf(“b%d=%d/n“,i,bi);fprintf(out,“b%d=%d/n“,i,bi);fc
3、lose(out);(分数:100.00)_三级数据库技术机试-221 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编制函数 int findValue(int outBuf),其功能是:在 3 位整数(100999)中寻找符合下面条件的整数,并依次从小到大存入数组 b 中;它既是完全平方数,又有两位数字相同,例如 144,676 等。满足该条件的整数的个数通过所编制的函数返回。最后调用函数 WriteData()把结果输出到文件 OUT.DAT 中。注意:部分源程序已给出。请勿改动主函数 main()和写函数 WriteData()的
4、内容。试题程序:#includestdio.hvoid writeData(int,int b);int findValue(int outBuf)void main()int b20,num;num=findValue(b);writeData(num,b);void writeData(int num,int b)FILE*OUt:int i;out=fopen(OUT.DAT“,“w“);printf(“num=%d/n“,num);fprintf(out,“num=%d/n“,num);for(i=0;inum;i+)printf(“b%d=%d/n“,i,bi);fprintf(ou
5、t,“b%d=%d/n“,i,bi);fclose(out);(分数:100.00)_正确答案:(int findValue(int outBuf)int i,d1,d2,d3,count=0;for(i=10;i*i1000;i+)d1=i*i/100; /*求该平方数的百位数字*/d2=i*i/10%10; /*求该平方数的十位数字*/d3=i*i%10; /*求该平方数的个位数字*/if(d1=d2 | d2=d3|d3=d1)out,Bufcount+=i*i;return count;)解析:解析 本题主要考查数位分解及排序。基本思路是,由于最小的三位数 100 是 10 的平方,因此可以从 10 开始,判断每个数的平方值是否有两位数字相同,直到找到数的平方值大于 999,这样可遍历100999 中所有的平方数,循环中将满足条件的数存入数组 outBuf 中,由于遍历是从小到大的,因此数组 outBuf 中的元素已经接升序排列。