很久沒更新了,最近學習有點偷懶了。
今天搞一個十進制轉二進制。若是是十進制轉八進制,十進制轉十六進制,直接輸入%d,輸出%o(八進制),%x(十六進制)。可是c語言中沒有特定的二進制的格式符,因此須要用計算的方法。具體思路是,先整一個與輸入的數有關的數組,讓數組的值隨輸入的值變化而變化。
數組: for(i=0;;i++)//中間不寫的緣由是i的最大次數根據輸入的數值肯定,所以如今未定。
{
a[i]=n%2;
n=n/2;
if(n==0)
break;
}
而後倒序輸出這個數組就行。
具體代碼:
#include<stdio.h>
int main()
{
int i,a[17],b,c;
for(; scanf("%d",&b)!=EOF;)
{
c=b;
for( i=0;; i++)
{
a[i]=b%2;
b=b/2;
if(b==0)
break;
}
for(; i>=0; i--)
printf("%d",a[i]);
printf("\n");
數組
}
}ide