問題:實現十進制轉化爲二進制的代碼。數組
思路先行:code
第一步:十進制轉化爲二進制的過程當中,就是每次除2取餘,並存放在數組中。blog
第二步:輸入的數字在0-32767之間。io
第三步:for循環(從0到14位,最高位爲符號位)。for循環
第四步:for循環倒敘輸出,存放在數組中即爲轉化後的值。class
第五步:爲了美觀,每隔四個數字打印一個空格。變量
代碼以下:循環
#include <stdio.h> //引用頭文件 main() { int i,j,n,m,a[16]={0}; //定義變量i,i,m,和數組a[],並賦初值爲0; printf("請輸入您想轉化的十進制數字:(0-32767):"); //輸入轉化的數字 scanf("%d",&n); for(m=0;m<15;m++) //for循環從0到14位,最高位爲符號位,本題始終爲0; { i=n%2; //每次取n%2的餘數; j=n/2; //把n/2的整數部分賦值給j, n=j; //讓j=n;從n再執行下一次循環。 a[m]=i; //並把每次的餘數i賦給數組a[]; } for(m=15;m>=0;m--) //for循環,將數組中的元素倒敘輸出,即爲轉化後的二進制數字。 { printf("%d",a[m]); if(m%4==0) //爲了格式美觀,每隔四個數字打印一個空格。 printf(" "); } printf("\n"); }
輸出結果以下:引用