码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础算法之 回文数

时间:2014-11-26 11:24:53      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   使用   sp   amp   as   算法   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++基础算法之 回文数

标签:io   ar   os   使用   sp   amp   as   算法   c++   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!