用C語言實現將十進制轉化為二進制,并統計轉換后的二進制碼中1的個數。
#include <stdio.h>int binaryNum[16]; //存放轉換后得到的二進制碼int count=0; //計數十進制整數被2除的次數int oneCount=0; //得到的二進制碼中1的個數void main(){ int num; printf("輸入一個十進制的整數:"); scanf("%d",&num); while( (num/2) != 1 ){ //判斷條件為:除以2之后的商不等于1 binaryNum[count] = num%2; //取余后的數字存入數組 num /= 2; //num = num/2; 進行下一輪的判斷 count++; //此變量用來指定數組下標 } binaryNum[count+1] = 1; //最后一次除法做完以后,剩下的商一定是1,所以在最后手動添加一個1 printf("二進制數值為:"); //倒序打印出數組中的元素 // sizeof(整形數組)/sizeof(整形單個元素大小) = 數組的元素個數 for( int i=sizeof(binaryNum)/sizeof(int)-1; i>=0; i-- ){ if( binaryNum[i] == 1) oneCount++; //出現一次1就累加 printf("%d",binaryNum[i]); } printf("/n共有%d個1/n",oneCount);}
新聞熱點
疑難解答
圖片精選