| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:一个简单的程序,大家帮我看看
取消只看楼主 加入收藏
as1069
Rank: 2
来 自:河北
等 级:论坛游民
威 望:1
帖 子:46
专家分:31
注 册:2014-6-10
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:2 
一个简单的程序,大家帮我看看

/*
如果有一个正整数从左、右来读都是一样的,则成为回数;比如101、32123、999都是回数。
回数猜想:任取一个数,再把它倒过来,并把这两个数相加,然后把这个和数在倒过来,与原和数相加,重复此过程一定能获得一个和数。
68,,,86;
68+86=154;
154+541=605;
605+506=1111;
编程,输入任意整数,按上述 步骤产生一个回数,最多计算七步,看是否得到一个回数;;
//
*/
#include<stdio.h>
main()
{
    int x, y, m, n, q, a, b;
    int f(x);
    int h(x);
    scanf("输入一个两位数%d",&x);
    for(n=1;n>7||q=1;n++)//错误的地方
    {
        a=f(a);//求倒数
        b=a+b;
        q=h(b);//判断是否为合数
    }
    printf("合数是%d,次数为%d",b,n);
}
int f(x)
{
    int a, b, c, d, e, y;//这些是局部变量应该与上面的不冲突  请教大神
    a=x/10000;
    b=x/1000-a*10;
    c=x/100-a*100-b*10;
    d=x/10-a*1000-b*100-c*10;
    e=x-a*10000-b*1000-c*100-d*10;
    y=e*10000+d*1000+c*100+b*10+a;
    return(y);
}
int h(x)
{
    int a, b, c, d, e, q;
    int l, o, p;
    a=x/10000;
    b=x/1000-a*10;
    c=x/100-a*100-b*10;
    d=x/10-a*1000-b*100-c*10;
    e=x-a*10000-b*1000-c*100-d*10;
    if(a==e&&b==d)//这里会出错   打算用switch语句不太会
        l=1;
    if(b==e&&c==d&&a==0)
        o=1;
    if(c==e&&a==b==0)
        p=1;
    if(l==1||o==1||p==1)
        q=1;
    return(q);
}
//请大家帮忙改进一下    谢谢了

搜索更多相关主题的帖子: include 正整数 
2015-11-12 16:51
as1069
Rank: 2
来 自:河北
等 级:论坛游民
威 望:1
帖 子:46
专家分:31
注 册:2014-6-10
收藏
得分:0 
首先你这个编译不成功    不符合要求
我看不懂
int f(int n,int &s)这个&是什么
if(n>0){
        s=10*s+n%10;
        f(n/10,s);这样循环可以    数字再大一些就出错了
    }



bool isOver(int n){
    int m=0;
    f(n,m);
    return n==m;两个等号是什么意思


int n=68,m=0,count=0;这只是一个数    我想输入任意数但不会只好五位数以下


我已入坑
2015-11-12 17:16
as1069
Rank: 2
来 自:河北
等 级:论坛游民
威 望:1
帖 子:46
专家分:31
注 册:2014-6-10
收藏
得分:0 
我只是想看看这程序哪里错了
帮忙看看   提提意见

我已入坑
2015-11-12 17:18
快速回复:一个简单的程序,大家帮我看看
数据加载中...
 
   



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

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