判断回文数(C++)

什么是回文数?
简单的说,就是一个数正着读跟倒着读都是同一个数。
例如:12345,倒着读是54321,它不是一个回文数。而12321,倒着读还是12321,它就是一个回文数。

示例一

  • 判断五位数是否为回文数
// Function:判断输入的五位数是否是回文数
#include

using namespace std;

int main(){
   int myriabit,kilobit,decade,unit,number;
   while(1){
   cout<<"请输入一个五位数:";
   cin>>number;
   myriabit=number/10000;
   kilobit=(number%10000)/1000;
   decade=(number%100)/10;
   unit=number%10;
   if(myriabit==unit&&kilobit==decade){
       cout<<"Yes"<<endl;
    }
    else cout<<"No"<<endl;
    }
   return 0;
}

这个呢,是我自己刚学C++时学到的判断回文数的方法,这个缺陷就如介绍说的一样,只能判断五位数的回文数,无法判断其他位数的数。

样例二

  • 判断任意位数的回文数(当然肯定不能超过整型范围)
#include 

using namespace std;

int main(void)
{
	int num, m;
	int sum = 0;//一定要初始化,不然sum的值是垃圾值 
	 
	cin >> num; //将这个要判断的数输入进来
	m = num; //将这个值赋给变量m 
	
	while(m)
	{
		sum = sum * 10 + m % 10;
		m /= 10; //等价于 m = m / 10; 
	} 
	
	if(num == sum)//判断倒着读跟正着读是否一样
	{
		cout << num << "是回文数!" << endl;
	} 
	else
	{
		cout << num << "不是回文数。" << endl;
	}
	
	return 0;
} 

走过路过给个点赞,谢谢啦。

你可能感兴趣的:(C++)