问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:陈文青
*完成日期:2014年11月11日
*版 本 号:v1.0
*
*问题描述:编制isPalindrome(),用于判断参数是否是回文数——回文数,即从前往后读和从后往前读都一样的数,
如1221和121都是回文数,而1231、123都不是回文数。请编制isPalindrome(函数,在下面代码的基础上补充相关
的部分,实现要求的功能
*程序输入:一个整数,m
*程序输出:判断m是否为回文数
*/
#include<iostream>
using namespace std;
int reverse(int x); //调用自定义函数,用于求回文数
bool isPalindrome(int n); //自定义函数,布尔型
int main()
{
int m;
cin>>m;
if(isPalindrome(m)) //调用函数
cout<<m<<"是回文数,欧耶!"<<endl;
else
cout<<m<<"不是回文数,回文有什么好!"<<endl;
return 0;
}
int reverse(int x) //用于求回文数的反序数
{
int m=0,r;
while(x>0)
{
r=x%10;
m=m*10+r;
x=x/10;
}
return m;
}
bool isPalindrome(int n)
{
bool palindrome=false; //默认不是回文数
if(reverse(n)==n)
palindrome=true; //判断是否为回文数
return palindrome;
}
运行结果:
知识点总结:
调用布尔型自定义函数进行判断
学习心得:
以后在进行复杂的判断,而if语句不能进行时,有必要加一个bool型自定义函数,这样问题或许会简单很多。