[计算机类试卷]国家三级(数据库技术)机试模拟试卷43及答案与解析.doc

上传人:bonesoil321 文档编号:495317 上传时间:2018-11-28 格式:DOC 页数:2 大小:25.50KB
下载 相关 举报
[计算机类试卷]国家三级(数据库技术)机试模拟试卷43及答案与解析.doc_第1页
第1页 / 共2页
[计算机类试卷]国家三级(数据库技术)机试模拟试卷43及答案与解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家三级(数据库技术)机试模拟试卷 43及答案与解析 一、程序设计题 1 下列程序的功能是:寻找并输出 11至 999之间的数 m,它满足 m, m2和 m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如 121, 676, 94249等。满足上述条件的数如 m=11, m2=121, m3=1331皆为回文数。请编制函数 int jsValue(long n)实现此功能,如果是回文数,则函数返回 1,反之则返回 0。最后把结果输出到文件 out43.dat中。 注意:部分源程序已给出。 请勿改动主函数 main()。 试题程序: #include stdio.h int jsVal

2、ue(long n) main() long m; FILE *out; out=fopen(“,out43.dat“,“w“); for(m=11;m 1000;m+) if(jsValue(m) fprintf(out, “m=%41d,m*m=%61d,m*m*m=%81dn“,m,m*m,m*m*m); fclose (out); 国家三级(数据库技术)机试模拟试卷 43答案与解析 一、程序设计题 1 【正确答案】 int isValue(10ng n) int i, str1, half; char xy20; ltoa (n, xy, 10); /*将长整数 n转换成与其等价的字符

3、串存入 xy指向的字符串中,输出为士进制 */ str1=strlen (xy); /*求字符串的长度 */ half=str1/2; for (i=0; i half; i+) if(xyi !=xy-str1) break; /*判断字符串是否左右对称 */ if(i =half) return 1; /*如果字符串是回文,则返回 1*/ else return 0; /*否则返回 0*/ 【试题解析】 本题考查的知识点如下: (1)将整型变量转换成字符串。 (2)字符串长度的确定和循环的使用。 (3)字符串是否对称的判断。 回文数是指其各位数字左右均对称的整数,因为给出的数的位数不确定,所以不采用将各位上的数字转变成单独的数再比较的方法。这里使 用函数char*ltoa(longnum,char*str,intradix),其功能是将长整数 num转换成与其等价的字符串存入 str指向的字符串中,输出串的进制由 radix决定。将整数转变成字符串后,判断字符串是否左右对称。求得字符串长度后设置两个变量,一个从字符串的头开始向后移动,一个从字符串的倒数第二个元素开始向前移动,直到移至数组的中间元素。若两者所决定的数组元素均相等,则字符串左右对称。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1