| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 788 人关注过本帖
标题:新手请教,为什么下面程序得不到正确结果?
只看楼主 加入收藏
Nostalgia
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-9-15
收藏
 问题点数:0 回复次数:4 
新手请教,为什么下面程序得不到正确结果?
#include<iostream>
using namespace std;
const int N=100;
void binary(int n)
{
    int i=0,j,m,s[N];
    cout<<"该十进制正整数转化为二进制为:";
    for(i=0;n>0;i++)
       {    s[i]=n%2;
            m=n/2;
            n=m;
       }
    for(j=i;j>=0;j--)
       cout<<s[j];
       cout<<endl;
}
void octal(int n)
{     
     int i=0,j,m,s[N];
     cout<<"该十进制正整数转化为八进制为:";
     for(i=0;n>0;i++)
       {    s[i]=n%8;
            m=n/8;
            n=m;
       }
     for(j=i;j>=0;j--)
        cout<<s[j];
    cout<<endl;
}

void main()
{  

      int n;
      cout<<"Please input a positive integer :";
      cin>>n;
      binary(n);
      octal(n);
}
搜索更多相关主题的帖子: 结果 得不到 
2008-10-23 23:14
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
就看了你第一个;
后面那个也类似改吧...
void binary(int n)
{
    int i=0,j,m,s[N];
    cout<<"该十进制正整数转化为二进制为:";
    for(i=0;n>0;i++)
       {   
        s[i]=n%2;
            m=n/2;
            n=m;
            cout<<n<<endl;
       }
    for(j=i-1;j>=0;j--)
       cout<<s[j];
       cout<<endl;
}

2008-10-23 23:25
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
仔细考虑好,循环结束时i的值...

2008-10-23 23:26
he5220
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-28
收藏
得分:0 
很显然,结果只有一位

2008-10-24 21:38
petera
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-11-2
收藏
得分:0 
for(i=0;n>0;i++)
       {    s[i]=n%2;
            m=n/2;
            n=m;
       }
    for(j=i;j>=0;j--)
       cout<<s[j];
       cout<<endl;
第二个for应j=i-1;   因为在n<0时执行了一次i++.
2008-10-24 22:41
快速回复:新手请教,为什么下面程序得不到正确结果?
数据加载中...
 
   



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

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