| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 458 人关注过本帖
标题:大家帮我看一下~
取消只看楼主 加入收藏
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
结帖率:78.26%
收藏
已结贴  问题点数:10 回复次数:2 
大家帮我看一下~
#include<iostream>
using namespace std;
int  f1(int m)
{
    int a,b,n=0;
    if(m>=0&&m<10)
        return 1;
        a=m/10;
        b=m%10;
        if(a==b)   
            return 1;        
        else         
            return 0;   
}
int f2(int m)
{
    int i=0,b[20],j,leap;
    int *p=b,*q;
    while( m!=0)
    {
        b[i++]=m%2;
        m=m/2;
    }
    i=i-1;
    q=p+i;
    for(;p<q-i/2,q>=p+i/2;)   
    {
        if(*p==*q)
          {
          leap=1;
            p++;
            q--;
          }            
        else         
            leap=0;
    }
    if(leap==1)
        return 1;
    else
        return 0;
        
}
main()
{
    int m;
    for(m=0;m<100;m++)
    {
        if((f1(m)&&f2(m))==1)
        cout<<m<<endl;
    }
}
功能是输出100以内二进制和十进制正读和反读都一样的数 ,我的算法是不是错了,总是得不到结果的。 大家帮帮忙看一看,先谢了。
搜索更多相关主题的帖子: return 
2011-05-22 22:40
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
那我上面的……是怎么错的?课可以帮看看吗?
2011-05-24 12:06
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
程序改了一下:
#include<iostream>
using namespace std;
int  f1(int m)
{
    int a,b,n=0;
    if(m>=0&&m<10)
          return 1;
        a=m/10;
        b=m%10;
        if(a==b)   
            return 1;      
        else         
            return 0;   
}
int f2(int m)
{
    int i=0,b[20],leap=1,j;
    int *p=b,*q;
    while( m!=0)
    {
        b[i++]=m%2;
        m=m/2;
    }
    i=i-1;
    q=p+i;
for(j=0;j<(i+1)/2;j++)
    {
        if(*(p+j)==*(q-j))
        {
            leap=1;
        }
        else
        {
            leap=0;
            break;
        }

    }
    if(leap==1)
        return 1;
    else
        return 0;
        
}
void main()
{
    int m;
    for(m=0;m<100;m++)
    {
        if((f1(m)&&f2(m))==1)
        cout<<m<<endl;
    }
}
这样得到的答案是:0 1 3 5 7 9 33 99,这个才是正确的。
谢谢各位的帮忙。
2011-05-28 00:27
快速回复:大家帮我看一下~
数据加载中...
 
   



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

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