问答题 请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程proj2,此工程中含有一个源程序文件pmj2.epp,请编写一个函数inthuiwen(intn),用于求解所有不超过200的n值,其中n的平方是具有对称性质的回文数(回文数是指一个数从左向右读与从右向左读是一样的,例如:34543和1234321都是回文数)。求解的基本思想是:首先将n的平方分解成数字保存在数组中,然后将分解后的数字倒过来再组成新的整数,比较该整数是否与乃的平方相等。注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,也不要删除或移动“//****found****”。//proj2.cpp#include<iostream>usingnamespacestd;inthuiwen(int1"1){intarr[16],sqr,rqs=0,k=1;sqr=n*n;for(inti=1;sqr!=0;i++){//**********found**********________;sqr/=10;}for(;i>1;i--){rqs+=arr[i一1]*k;//********found********________;}//********found********if(________)returnn;elsereturn0;}intmain(){intcount=0;cout<<"Thenumberare:"<<end1;for(inti=10;i<200;i++)if(huiwen(i))cout<<++count<<'\t'<<i<<'\t'<<i*i<<end1;return0;}
【正确答案】正确答案:(1)arr[i] = sqr%10 (2)k *= 10 (3)n*n == rqs
【答案解析】解析:(1)主要考查考生对数组的掌握,使用数组存储整型数字,分解整数sqr。 (2)主要考查考生对数组的掌握,利用数组元素组成整数rqs。 (3)主要考查考生对if语句的掌握,如果两数相等就说明n是回文数。