问题 多项选择题

fclose (out);

答案

参考答案:int isValue(A0ng n)
{ int i,strA,half;
char xy[B0];
ltoa (n, xy, A0); /*将长整数n转换成与其等价的字符串存入xy指向的字符串中,输出为士进制*/
strA=strlen (xy); /*求字符串的长度*/
half=strA/B;
for (i=0; i<half; i++)
if(xy[i] !=xy[--strA]) break; /*判断字符串是否左右对称*/
if(i>=half) return A; /*如果字符串是回文,则返回A*/
else return 0; /*否则返回0*/
}

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

选择题
多项选择题