1、三级数据库技术机试-215 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.补充函数,要求实现如下功能:寻找并输出 11999 之间的数 m,它满足 m,m 2,m 3均为回文数(回文数是指各位数字左右对称的整数),例如:12321,505,1458541 等。满足上述条件的数如 m=11时,m2=121,m 3=1331都是回文数。请编写 js-Value(long m)实现此功能。如果是回文数,则函数返回 1,不是则返回 0。最后,把结果输出到文件 OUT.DAT中。注意:部分源程序已经给出。请勿改动主函数 Main()中的内容。试题程
2、序:#includestring.h#includestdio.h#includestdlib.hint js Value(long n)main()long m;FILE*OUt:Out=fopen(“OUT.DAT“,“w“);for(m=11;m1000;m+)if(jsValue(m)jsValue(m*m)jsValue(m*m*m)printf(“m=%41d,m*m=%61d,m*m*m=%81d“,m,m*m,m*m*m);fprintf(out,“m=%41d,m*m=%61d,m*m*m=%81d“,m,m*m,m*m*m);fclose(out);(分数:100.00)_
3、三级数据库技术机试-215 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.补充函数,要求实现如下功能:寻找并输出 11999 之间的数 m,它满足 m,m 2,m 3均为回文数(回文数是指各位数字左右对称的整数),例如:12321,505,1458541 等。满足上述条件的数如 m=11时,m2=121,m 3=1331都是回文数。请编写 js-Value(long m)实现此功能。如果是回文数,则函数返回 1,不是则返回 0。最后,把结果输出到文件 OUT.DAT中。注意:部分源程序已经给出。请勿改动主函数 Main()中的内容。试题程序
4、:#includestring.h#includestdio.h#includestdlib.hint js Value(long n)main()long m;FILE*OUt:Out=fopen(“OUT.DAT“,“w“);for(m=11;m1000;m+)if(jsValue(m)jsValue(m*m)jsValue(m*m*m)printf(“m=%41d,m*m=%61d,m*m*m=%81d“,m,m*m,m*m*m);fprintf(out,“m=%41d,m*m=%61d,m*m*m=%81d“,m,m*m,m*m*m);fclose(out);(分数:100.00)_正确答案:(int i,str,half;char xy20;ltoa(n,xy,10);strl=strlen(xy);half=strl/2;for(i=0;ihalf;i+)if(xyi!=xystrl)break;if(i=half)return 1;elsereturn 0;)解析:解析 本题将长整型 n转换成字符串存入数组 xx中,取出字符串的长度,循环到字符串的中部,依次比较相对位置字符,如果碰到某一对不同,则跳出循环,此时 i=half,证明循环自然结束,返回1,n 是回文数,否则循环将强制跳出,证明至少有一对字符不相同,所以返回 0,n 不是回文数。