首页 > 编程语言 > 详细

C++基础算法之 回文数

时间:2014-11-26 11:22:48      阅读:327      评论:0      收藏:0      [点我收藏+]
// 常见算法.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++基础算法之 回文数

原文:http://blog.csdn.net/djb100316878/article/details/41511573

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!