遞迴實現十進位制轉二進位制
阿新 • • 發佈:2019-01-08
#include<stdio.h> #include<stdlib.h> //輸入一個十進位制,自己寫一個函式轉換為二進位制 //10進位制轉2進位制:方法是除以2取餘,逆序排列 //如果想轉換為 8進位制,則把程式碼中的2改為8就OK //下面這個是遞迴!!! void change2(int num)//如果輸入num為10 { if(num==0) { return ; } else { /* 不能這樣寫 printf("%d",num%2);結果是0101 從上往下 ? 在遞迴呼叫之上就是順序輸出 change2(num/2); */ change2(num/2); //先反覆呼叫自身後一次返回 printf("%d",num%2);//結果是1010 從下往上? 在遞迴呼叫之下就是逆序輸出! } } int main() { int num; printf("請輸入一個十進位制數,程式將轉換為2進位制\n"); scanf("%d",&num); printf("十進位制%d轉換為二進位制為:",num); change2(num);//呼叫 return 0; }