| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 364 人关注过本帖
标题:为什么输出是0啊
只看楼主 加入收藏
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
结帖率:94.64%
收藏
已结贴  问题点数:10 回复次数:2 
为什么输出是0啊
程序代码:
#include <iostream.h>
#include "h.h"
void main()
{
    long int a,b=0,c=1,e=0;
    cin>>a;
    for (;a>=2;a=a/2)
    {
        b=a%2*fun(c,10);
        e+=b;
        c++;
    }
    cout<<e<<endl;
}

#include <iostream.h>
int fun(int a,int b)
{
    if (a==1)return b;
    else return b*fun(a-1,b);
}
谢谢了
2012-03-30 08:28
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:4 
如果你的a输入的是 0 或者是1 那么e明显就是0了,for一次都没有执行
其他情况自己分析去

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-03-30 11:06
冉小A
Rank: 2
等 级:论坛游民
帖 子:11
专家分:18
注 册:2012-4-4
收藏
得分:4 
程序代码:
#include <iostream.h>
int fun(int a,int b)
{
    if (a==1)return b;
    else return b*fun(a-1,b);
}

void main()
{
    long int a,b=0,c=1,e=0;
    cin>>a;
    for (;a>=2;a=a/2)
    {
        b=a%2*fun(c,10);
        e+=b;
        c++;
    }
    cout<<e<<endl;
}
下面是一部分对应的输入与输出结果:
0->0;1->0;2->0;3->10;4->0;5->10;6->100;7->110;8->0;9->10;10->100;11->110;12->1000;13->1010;14->1100;15->1110;16->0;17->10;18->100;19->110;20->1000;21->1010;22->1100;23->1110;24->10000;25->10010;26->10100;27->10110;28->11000;29->11010;30->11100;31->11110;32->0;33->10;34->100;35->110;36->1000;37->1010;38->1100;39->1110;
可以添加代码循环执行得到
2012-04-05 18:48
快速回复:为什么输出是0啊
数据加载中...
 
   



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

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