C++学习 从反序数到回文数

题目描述:用户输入一个数字,构造其反序数,并判断是不是回文数。ios

分析:能够用数组构造,但我正在学习第2章:表达与运算,所以用计算的方式构造反序数。数组

代码:学习

#include<iostream>
using namespace std;
int main()
{
	int a,d,copy;
	int b=0,flag=0; 
	cout<<"请输入一个数:"<<endl;
	cin>>a;
	copy=a;					//记录a的值 
	while(a>0)				//计算反序数 
	{
		d=a%10;
		b=b*10+d;
		a=a/10;
	} 
	cout<<"反序数为:"<<b<<endl;
	if(b==copy)
	{
		flag=1;
	}
		
	cout<<"回文数:"<<flag<<endl; 
	return 0; 
}
  • 一开始犯了两个错误:

(1)忘记初始化b=0,后面直接用到了b=b*10+d。spa

(2)忘记用变量copy保存用户输入的值,后面直接判断if(a==b)。code

  • 这个程序一编译就会被360当作木马病毒...多是由于if条件里只包含了一条语句...