c++如何判断回文数

原问题:c++如何判断回文数
分类:编程开发 > 最后更新时间:【2017-07-26 05:46:25】

最佳答案

[cpp]viewplaincopyprint?

//常见算法.cpp:定义控制台应用程序的入口点。

//回文

#include"stdafx.h"

#include<iostream>

usingnamespacestd;

voidreverse_num(int&n)

{

intrem=0;//用于表示余数

intreverse=0;//反转后的数字

inttemp=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(intargc,_TCHAR*argv[])

{

while(true)

{

cout<<"请您输入一个数字:"<<endl;

intj;

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()的效果*/

/************************************************************************/

/*

inta;

cin>>a;

if(cin.fail())//验证输入的类型是否匹配,例如这里是inta;如果输入一个字符,就会报错

{

cin.clear();//清除错误标志,重置流的状态

cin.sync();//清楚缓存区

intb;

cin>>b;//如果不清除缓存区,这个b将不会被读入,因为每次都是从缓存区读取,不清除读取的还是原来的内容

cout<<b<<endl;

}

*/

/************************************************************************/

/*cin与cin.get()的区别:cin会自动忽略回车符号,cin.get()不会忽略*/

/************************************************************************/

//chark=cin.get();

//cout<<k<<endl;

//charm=cin.get();

//cout<<m<<endl;

//因为cin.get()不会自动忽略了回车符号,当我们输入第一个字符后,我们会输入一个回车符号,相当于m输入的就是回车符

getchar();

//getchar();

return0;

}

最佳答案由网友  摆风  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
7

分享到:

其他回答

暂无其它回答!

    推荐