题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
输入描述:有符号的整数n,n不大于100000。
输出描述:如果是回文数,输出true,如果不是输出false。均为小写。
样例输入: 121
样例输出: true
参考主程序代码:
int main()
{
int number;
cin >> number;
isHuiwen(number);
return 0;
}
#include<iostream> #include<cmath> using namespace std; int main() //主函数 { int ishuiwen(int x); int number; cin>>number; ishuiwen(number); return 0; } int huiwen(int x) //定义回文数的函数 { int weishu=0,huiwen=0,a; //定义位数weishu,回文后的数字huiwen a=x; //a来存储数据x do { //记录位数 a=a/10; weishu+=1; }while(a>0); do //进行回文叠加 { huiwen=(x%10)*pow(10,weishu-1)+huiwen; x=x/10; weishu=weishu-1; }while(x>0); return huiwen; //返回回文后的数字 } int ishuiwen(int x) { int a; a=huiwen(x); //令a=回文后的数字 if(a==x) cout<<"true"; else cout<<"false"; return 0; }