首页 > 代码库 > C++基础算法之 回文数

C++基础算法之 回文数

// 常见算法.cpp : 定义控制台应用程序的入口点。//回文#include "stdafx.h"#include <iostream>using namespace std;void reverse_num(int& n){	int rem     = 0;//用于表示余数	int reverse = 0;//反转后的数字	int temp    = 0;	temp        = n;	while (temp !=0)	{		rem			= temp%10;		reverse		= reverse*10 + rem;		temp	   /= 10;	}	if (reverse == n)	{		cout<<"回文数:"<<n<<endl;	}	else	{		cout<<"您输入的不是回文数"<<endl;	}}int _tmain(int argc, _TCHAR* argv[]){		while (true)	{		cout<<"请您输入一个数字:"<<endl;		int j;		cin>>j;		if (cin.fail())		{			cout<<"ERROR"<<endl;			cin.clear();			cin.sync();		}		try		{			reverse_num(j);		}		catch (...)		{			cout<<"ERROR!!";		}	}		/************************************************************************/	/* cin.fail() cin.clear() cin.sync(),后两个一般一起使用 相当一 cin.ingore()的效果                                                                     */	/************************************************************************/		/*	int a;	cin>>a;	if (cin.fail())//验证输入的类型是否匹配,例如这里是int a;如果输入一个字符,就会报错	{		cin.clear(); //清除错误标志,重置流的状态		cin.sync();//清楚缓存区		int b;		cin>>b; //如果不清除缓存区,这个b将不会被读入,因为每次都是从缓存区读取,不清除读取的还是原来的内容		cout<<b<<endl;	}	*/			/************************************************************************/	/* cin 与cin.get()的区别:cin会自动忽略回车符号,cin.get()不会忽略                                                                     */	/************************************************************************/	//char k = cin.get();	//cout<<k<<endl;	//char m = cin.get();	//cout<<m<<endl;	//因为cin.get()不会自动忽略了回车符号,当我们输入第一个字符后,我们会输入一个回车符号,相当于m输入的就是回车符	getchar();	//getchar();	return 0;}

C++基础算法之 回文数