題目描述
將十進制正整數轉換成二進制數(保證輸入數據產生的結果不突破十位)
輸入
一行,一個十進制數
輸出
一行,一個二進制數
樣例輸入 Copy
<code>2/<code>
樣例輸出 Copy
<code>10/<code>
【算法分析】
十進制轉二進制採用短除法,將十進制數除以2,商寫在下面,餘數寫在商的右邊,一直往下除,直到除到商為0,將餘數逐個保存到一維數組中,最後將數值倒序輸出即可。
<code>#include<bits>
using namespace std;
int main()
{
\tint a[100];
\tlong long n;
\tint i=0,j;
\tcin>>n;
\tif(n==0)
\t{
\t\tcout<<0;
\t\treturn 0;
\t}
\twhile(n>0)//短除法將10進制數一直除以2直到商為0
\t{
\t\ta[i]=n%2;//將餘數逐個存入數值保存
\t\ti++;
\t\tn=n/2;
\t}
i--;
\tfor(j=i;j>=0;j--)//將數組倒序輸出
\t cout</<bits>/<code>
閱讀更多 機房日子 的文章