标题:[求助]一个关于scanf和printf的简单问题
只看楼主
mengge
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-2-10
 问题点数:0 回复次数:6 
[求助]一个关于scanf和printf的简单问题
我用scanf输入一个10进制的数,用printf怎么样以2进制的形式输出啊
例如输入16在屏幕上面显示10000
谢谢各位指点拉
急求
搜索更多相关主题的帖子: printf scanf 简单问题 
2005-03-12 21:56
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
得分:0 

#include <stdio.h> #define N 10 void main() { int a,i=0,j=0; int m[N];

clrscr(); scanf("%d",&a); while(a!=0) { a=a/2; m[i]=a%2; i++; } j=i-1; for(i=0;i<=j;i++) { printf("%d",m[i]); } }

2005-03-13 00:25
为了c
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-2-2
得分:0 
以下是引用magic475在2005-3-13 0:25:53的发言:

#include <stdio.h> #define N 10 void main() { int a,i=0,j=0; int m[N];

clrscr(); scanf("%d",&a); while(a!=0) { a=a/2; //m[i]=a%2; m[i]=a%2; //a=a/2; i++; } j=i-1; for(i=0;i<=j;i++) //for(i=j;i>=0;i++) { printf("%d",m[i]); } }

对以上语句改动一下!


2005-03-14 19:03
地瓜
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-14
得分:0 
有道理~~~~~~~~~~~~~~

2005-03-15 09:54
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
得分:0 

对二楼只要改一个顺序就行了:

#include <stdio.h> #define N 10 void main() { int a,i=0,j=0; int m[N];

clrscr(); scanf("%d",&a); while(a!=0) { /*a=a/2; m[i]=a%2;*/ m[i]=a%2; //因为先后顺序错了。 a=a/2; i++; } j=i-1; for(i=j;i>=0;i--)//这一句也是顺序的问题 { printf("%d",m[i]); } }

[此贴子已经被作者于2005-3-15 11:12:34编辑过]

2005-03-15 10:59
mengge
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-2-10
得分:0 
我想也许是我 的表达有错把
这样输出的这个数字可以进行运算吗?
2005-03-15 15:25
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
得分:0 
这样输出的是一个数组   并不是二进制数   只是输出后看上去是二进制的

动于心而静如水
2005-03-15 16:34



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




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

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