C++判断回文数,while 循环

回文数定义:设n是一任意自然数。 若将n的各位数字反向排列所得自然数n1与n相等,则称n为回文数

【样例输入】121

【样例输出】121是回文数

#include <iostream>
using namespace std;
int main()
{
	int n,n1,n2,s=0;
    cin >> n;
	n1 = n;
    while (n1 >0)
    {	
		n2=n1%10;
		s += n2;
		//cout << n2;
		s  *= 10;
		n1 /= 10;
		
	} 
	s /= 10;
	if (n == s)
		cout << n << "是回文数";
	else
		cout << n << "不是回文数";
		return 0;
}

 用n1代替要判断的数来进行判断回文数的操作,以免后面要用n时发现n已经变换数值了。

每次循环后n1就少一个个位数字(比如124变成了12)

第一次循环的n2表示这个数的个位数字

s表示数值的倒序数的大小

为了得到这个数值的各个位上的数字,直到n1<0才结束循环

这时的s会比需要的倒序数大10倍,判断的时候除以10回来就好啦

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值