| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:判断回文
只看楼主 加入收藏
蔡华健
Rank: 1
来 自:四川南充
等 级:新手上路
帖 子:2
专家分:2
注 册:2010-12-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
判断回文
要求调用函数,用指针太麻烦了。
搜索更多相关主题的帖子: 判断 回文 
2010-12-09 08:33
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:10 
这种题目楼主还是自己做来得快
2010-12-09 09:15
linshijin
Rank: 2
来 自:厦门
等 级:论坛游民
帖 子:40
专家分:24
注 册:2010-12-8
收藏
得分:10 
判断回文数的方法主要就是构造数的反序,与原数进行比较。最一般的就是求余取位的方法构造反序。


一下是一个回文数猜想的程序,是你要求的程序更难的题目,可以参考参考,这里也有判断回文数的方法:
程序代码:
//“回文数猜想”
//从任意一个两位数或两位以上的自然数开始,将这个数与它的逆序数相加,得到一个新数,再用这个新//数与它的逆序数相加,不断重复这个操作,经过若干的逆序数相加,可能得到一个回文数。
//程序开始运行,要求用户首先输入一个十进制整数;
//计算机列举出获得回文数的步骤;
//给出是否找到回文数及其数值的答案。
#include<iostream>
#define MAX 2147483647
using std::cin;
using std::cout;
using std::endl;
void main()
{
    long reverse(long);
    bool judge(long);
    long n;
    int count=0;
    cout<<"请输入一个大于10的整数:"
        <<endl;
    cin>>n;
    if(n>=MAX||n<10)
    {
        cout<<"输入错误!"<<endl;
        return;
    }
    cout<<endl;
    cout<<"获得回文数的过程如下:"<<endl;
    while(!judge(n+reverse(n)))
    {
        if((n>=MAX||reverse(n)>=MAX)||(reverse(n)<=0))
        {
            cout<<"有限步骤内没有找到回文数!"<<endl;
            return;
        }
        else
        {
            cout<<"["<<++count<<"]:"<<n<<"+"<<
            reverse(n)<<"="<<reverse(n)+n<<endl;
            n+=reverse(n);
        }
    }
    cout<<"["<<++count<<"]:"<<n<<"+"<<reverse(n)<<"="<<reverse(n)+n<<endl;
    cout<<"获得回文数是: "<<n+reverse(n)<<endl;
}

long reverse(long n)
{
    long r;
    for(r=0;n>0;n/=10)
    r=r*10+n%10;
    return r;
}

bool judge(long s)
{
    bool success=false;
    if(reverse(s)==s)
    success=true;
    return success;
}
            


情不知所起,一往情深
2010-12-09 09:29
快速回复:判断回文
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017919 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved