问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:李楠
* 完成日期:2014年11月7日
* 版 本 号:v1.0
*
* 问题描述:编制isPalindrome(),用于判断参数是否是回文数——回文数,即从前往后读和从后往前读都一样的数,如1122和121都是回文数,
而1231、123都不是回文数。请编制isPalindrome(函数,在下面代码的基础上补充相关的部分,实现要求的功能。
* 输入描述:一个整数
* 程序输出:一个整数
*/
#include <iostream>
using namespace std;
bool isPalindrome(int n);
int main()
{
int m;
cin>>m;
if(isPalindrome(m))
cout<<m<<"是回文数,噢耶!"<<endl;
else
cout<<m<<"不是回文数。回文有什么好!"<<endl;
return 0;
}
bool isPalindrome(int n)
{
int r,l=0,m;
m=n;
bool ispalindrome=false;
while(m>0)
{
r=m%10;
l=l*10+r;
m=m/10;
}
if(l==n)
ispalindrome=true;
return ispalindrome;
}
运行结果:
知识点总结:
运用反序数的知识来解决问题,但是中间遇到了一点困难,就是要把两个n区分开,不然的话,就出错了~
学习心得:
通过和伙伴一起写程序,一起出错又一起找错,发现找出程序中的错误也是有很大成就感的,继续加油吧!!