标题:输入十进制数输出二进制数 怎样逆序 求。。。
只看楼主
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
结帖率:84%
已结贴  问题点数:6 回复次数:4 
输入十进制数输出二进制数 怎样逆序 求。。。
#include<stdio.h>

int main()
{
    int n,i,j;
    printf("please input a number:\n");
    scanf("%d",&n);
    i=n;
    j=n;
    while(i!=0)
    {
        j=i%2;
        i=i/2;
        printf("%d",j);
    }

    return 0;
}
搜索更多相关主题的帖子: please number return 二进制 十进制 
2014-11-16 15:55
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:1 
这个问题可以设置一个栈,一一入栈,然后再出栈,就很方便,或者直接保存在数组里,注意可以设置布尔型数组,省空间。
2014-11-16 18:16
TinyBoy
Rank: 2
等 级:论坛游民
帖 子:23
专家分:44
注 册:2014-11-13
得分:1 
回复 楼主 yangcaifei
用移位的方法,顺逆方向不同就是了。
2014-11-17 15:44
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
得分:2 
程序代码:
#include<stdio.h>
int main()
{
    int a[128],n,i=0;
    scanf("%d",&n);
    while(n!=0)
        a[i++]=n%2,
        n/=2;
        
    
    for(;i>=0;i--)
        printf("%d",a[i]);
    putchar('\n');
    return 0;
}


我的算法,可是为什么数出来是个随机数
2014-11-17 16:12
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
得分:2 
程序代码:
#include<stdio.h>
int main()
{
    int a[128],n,i=0;
    scanf("%d",&n);
    while(n!=0)
        a[i++]=n%2,
        n/=2;
        i--;  /*这里补个就行了*/
        
    
    for(;i>=0;i--)
        printf("%d",a[i]);
    putchar('\n');
    return 0;
}

这样就行了
2014-11-17 16:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438660-1-1.html




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

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