課程
/后端開發
/C
/C語言入門
能解釋下么?謝謝。
2019-03-23
源自:C語言入門 3-2
正在回答
#include<stdio.h>#include<math.h>int A(int n,int a){?int sum;?if(n==0)?{??return 0;?}?else ?{??sum=(int)pow(2,n-1)*(a/((int)pow(10,n-1)))+A(n-1,a%((int)pow(10,n-1)));?}?return sum;}main(){?int n,a;?printf("輸入的二進制數的位數:");?scanf("%d",&n); ?printf("二進制數:");?scanf("%d",&a);?printf("對應的十進制數:%d",A(n,a));}
這個程序只能計算無小數位的二進制數的十進制化,并且需要提供二進制數的位數,運用的是遞歸函數的方法,在下才疏學淺,只能弄這樣鳥
慕桂英1342530
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答十進制數與八進制以及十六進制數之間的
1 回答16進制轉為10進制
1 回答什么是十進制?
2 回答二進制
1 回答如何將輸入的二進制按十進制輸出,用scanf函數
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-03-23
#include<stdio.h>
#include<math.h>
int A(int n,int a)
{
?int sum;
?if(n==0)
?{
??return 0;
?}
?else
?{
??sum=(int)pow(2,n-1)*(a/((int)pow(10,n-1)))+A(n-1,a%((int)pow(10,n-1)));
?}
?return sum;
}
main()
{
?int n,a;
?printf("輸入的二進制數的位數:");
?scanf("%d",&n);
?printf("二進制數:");
?scanf("%d",&a);
?printf("對應的十進制數:%d",A(n,a));
}
這個程序只能計算無小數位的二進制數的十進制化,并且需要提供二進制數的位數,運用的是遞歸函數的方法,在下才疏學淺,只能弄這樣鳥