| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1052 人关注过本帖
标题:一道算回数的题,编完运行没有输出
只看楼主 加入收藏
晋之神鱼
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
一道算回数的题,编完运行没有输出
就是把一个数颠倒过来不是自身,就把倒过来的数与自身相加,循环直到产生一个颠倒还是自身的数,如34543、2002
程序代码:
#include<math.h>
void main(){
    int a,b;
    printf("give a number\n");
    scanf("%d",&a);
    while(1){
        b=hui(a);
        if(a==b) break;
        a=a+b;
    }
    printf("%d",b);
}

int hui(int a){
    int c=a;
    double p;
    for(int i=0;c>0;){
        c=c/10;
        i++;
    }
    for(int b,s=0,m,j=0;a!=0;){
        b=a%10;
        a=a/ 10;
        p=(double) (i-j);
        m=(int) pow(10.0,p);
        s=s+b*m;
        j=j+1;
    }
    return s;
}

如上,运行无输出,求帮忙修改

[此贴子已经被作者于2016-4-14 19:37编辑过]

2016-04-14 19:36
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:20 
你这样都不报错?  在你写的那个函数那里,第一个for  内部声明了 int i   然后怎么可以在第二个for用?在for内声明的 算局部变量,不能用到其他的语句上

好好学习,天天向上!
2016-04-14 20:14
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
想写倒数的话,直接把数字存到数组就好了,更直接,更简便,而且代码量更少

好好学习,天天向上!
2016-04-14 20:17
晋之神鱼
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-14
收藏
得分:0 
回复 3楼 未来大仙
谢谢,我改改
用数组的话,不确定位数啊
2016-04-14 20:37
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
回复 4楼 晋之神鱼
不需要的噢,譬如,123456  每次取余之后就存入数组中,就OK了

好好学习,天天向上!
2016-04-14 20:48
晋之神鱼
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-14
收藏
得分:0 
回复 5楼 未来大仙
但是需要提前说明数组类型啊,int a[],中括号里要填元素个数
2016-04-14 20:57
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
回复 6楼 晋之神鱼
那你随便弄个不就好了?弄多点 还能输入多个倒数,如果你不想浪费空间,那就运算一下咯,求一个数有几位数还是很容易的

好好学习,天天向上!
2016-04-14 21:07
晋之神鱼
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-14
收藏
得分:0 
回复 7楼 未来大仙
不能用变量作为元素数的
程序代码:
#include<stdio.h>
  void main(){
    int b=10;
    int a[b];
}

这个出错的
至于用一个比较大的数组,没有赋值的那些会是0,感觉倒过来会有点麻烦
已经把一楼的那个改好了,主要是多乘了10的问题
2016-04-14 21:31
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
回复 8楼 晋之神鱼
我不知道你的编译器为什么不能通过,我在vc6.0 是允许变量做数组长度的,既然你解决了,那就好了

好好学习,天天向上!
2016-04-14 21:59
快速回复:一道算回数的题,编完运行没有输出
数据加载中...
 
   



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

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