问题 问答题

补充函数,要求实现如下功能:寻找并输出11~999之间的数m,它满足m,m2,m3均为回文数(回文数是指各位数字左右对称的整数),例如:12321,505,1458541等。满足上述条件的数如m=11时,m2=121,m3=1331都是回文数。请编写js-Value(long m)实现此功能。如果是回文数,则函数返回1,不是则返回0。最后,把结果输出到文件OUT.DAT中。
注意:部分源程序已经给出。
请勿改动主函数Main()中的内容。
试题程序:
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int js Value(long n)


main()

long m;
FILE*OUt:
Out=fopen("OUT.DAT","w");
for(m=11;m<1000;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);

答案

参考答案:int i,str,half;
char xy[20];
ltoa(n,xy,10);
strl=strlen(xy);
half=strl/2;
for(i=0;i<half;i++)
if(xy[i]!=xy[——strl])
break;
if(i>=half)
return 1;
else
return 0;

解析: 本题将长整型n转换成字符串存入数组xx中,取出字符串的长度,循环到字符串的中部,依次比较相对位置字符,如果碰到某一对不同,则跳出循环,此时i>=half,证明循环自然结束,返回1,n是回文数,否则循环将强制跳出,证明至少有一对字符不相同,所以返回0,n不是回文数。

材料分析题

阅读下列材料,结合所学知识回答问题。

材料一:2011年全国节能宣传周的主题是“节能我行动,低碳新生活”。广东围绕全国节能宣传周的主题,开展“七个一”活动,即办好一次展、制作一个专栏、开展一次能源紧缺体验、开好一次会、组织一次专家行、办好一件实事、做好一系列推广活动,旨在通过开展这些活动宣传国家及省有关节能的方针政策,增强全社会的节能意识,传播节能理念,普及节能知识,营造浓厚的节能减排社会氛围,进一步推动节能全民行动,为实现“十二五”节能约束性目标起好步、开好头。

材料二:2011年7月29日,我国某大学学生对市民在出行方式的选择上,他们依次对公共交通工具、私家车、出租车、电动车、自行车和其他出行方式进行了调查,调查结果如下。

(1)结合材料一,请运用文化生活的知识说明,“七个一”活动对人们的生活会有哪些影响?

__________________________________________________________________________________________________________________________________________________________________

(2)请运用辩证唯物论的知识,简要分析材料二中市民在出行方式的选择上出现差异的主要原因。

__________________________________________________________________________________________________________________________________________________________________

解答题