队花的烦恼一
描述
ACM隊的隊花C小+經常抱怨:“C語言中的格式輸出中有十六、十、八進制輸出,然而卻沒有二進制輸出,哎,真遺憾!誰能幫我寫一個程序實現輸入一個十進制數n,輸出它的二進制數呀?”
難道你不想幫幫她嗎?^_^
輸入
輸入有多個數據,數據以EOF結束;每個數據ni(0<=ni<=1000010000)用空格隔開;
(溫馨提示:EOF即是一個文件的結束標志;while(scanf(“%d”,&n)!=EOF){})
輸出
輸出有多行,每行對應一個十進制數ni的二進制數;
注意:輸出的二進制去掉任何一個多余的0;
樣例輸入
0 1 2 10
樣例輸出
0
1
10
1010
代碼如下
#include< stdio.h>
main()
{
int n,i,j;
int a[1000];//首先定義一個數組;
while(scanf(“%d”,&n)!=EOF)
{
if(n==0)//當第一個數是0的時候,對應的二進制也是0;
printf(“%d”,n);
i=0;//這里的i負責數組的下標;
while(n!=0)//每次取余賦值與數組,然后在除以二得到下一個數,當該數為0時,結束循環;
{
a[i]=n%2;//數組負責存儲取余之后的數;
n=n/2;//除以二得到下一個數;
i++;//數組下標加一;
}
for(j=i-1; j>=0; j–)//最后i為數組的總個數,for循環輸出該數組即可;
printf(“%d”,a[j]);
printf(“\n”);
}
}
總結
- 上一篇: The Famous Clock(著名的
- 下一篇: 不可以!