| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 964 人关注过本帖
标题:十进制转为二进制,这个程序不行,该怎么改?
只看楼主 加入收藏
zxrd1989
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2011-5-11
结帖率:64.29%
收藏
已结贴  问题点数:10 回复次数:10 
十进制转为二进制,这个程序不行,该怎么改?
#include<stdio.h>
void main()
{
   
    int a;
    int m;
    int b;
    scanf("%d",&m);
    while(m>=1)


    {
     c=m%2;     
    b=m/2;
    c=b%2;
    }
    printf("%d",a);
}
     
   
搜索更多相关主题的帖子: 二进制 十进制 
2011-05-12 20:17
汐杨
Rank: 2
等 级:论坛游民
帖 子:27
专家分:13
注 册:2010-7-26
收藏
得分:1 
没有使 m 变值
while(m>=1)就会死循环!
还有    printf("%d",a);  这是什么意思~~   a   没有赋值,也没有变值。你想会输出什么来!
2011-05-12 20:22
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
程序代码:
#include<stdio.h>
void main()
{
  
    int a[16] = {0},c;
    int m = 10;
    int i = 0,j = 0;
    //scanf("%d",&m);
    while(m>0)
    {
        a[i++] = m%2;
        m/=2;
    }
    for(j = i-1;j>=0;j--)
        printf("%d ",a[j]);
}
孩子  现用数组把运算结果保存起来  然后在逆序输出

                                         
===========深入<----------------->浅出============
2011-05-12 20:24
zxrd1989
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2011-5-11
收藏
得分:0 
回复 2楼 汐杨
那个循环该怎么写,不知道怎么表示出来
2011-05-12 20:32
shalyf
Rank: 2
等 级:论坛游民
帖 子:21
专家分:18
注 册:2011-5-12
收藏
得分:1 
回复 4楼 zxrd1989
参考楼上的吧
2011-05-12 23:20
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:1 
看看这个行不?
#include<stdio.h>
void main()
{  int c;
    int m ;
    scanf("%d",&m);
    while(m>0)
    { c= m%2;
        m/=2;
       printf("%d ",c);
}
}
2011-05-13 08:55
其实、不想说
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:156
注 册:2011-3-3
收藏
得分:1 
三楼写的很好,不过还有不用数组来做的,三楼用下递归做让我们看看
2011-05-13 09:33
其实、不想说
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:156
注 册:2011-3-3
收藏
得分:0 
回复 3楼 laoyang103
用递归做这题让我们瞧瞧
2011-05-13 09:34
z562586756
Rank: 1
等 级:新手上路
帖 子:18
专家分:1
注 册:2011-4-30
收藏
得分:1 
递归,方便的
2011-05-13 09:37
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:1 
int i=0,s=0,a[16],m;
    scanf("%d",&m);
   while(m>0)
   {a[i++]=m%2;
   m=m/2;}
   s=i-1;for(i=s;i>=0;i--)
   printf("%d",a[i]);
2011-05-13 09:42
快速回复:十进制转为二进制,这个程序不行,该怎么改?
数据加载中...
 
   



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

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