M進制整數轉化成N進制整數!在線等!

熱心網友

M

熱心網友

給定程序的功能是將十進制正整數m轉換成k進制(2≤k≤9)數的數字輸出。例如,  若輸入8和2,則應輸出1000(即十進制數8轉換成二進制表示是1000)。  請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。  注意:不得增行或刪行,也不得更改程序的結構!  試題程序:  #include  Void fun(int m,int k)  {  im aa[20],i;  for(i=0;m;i++){  aa[i]。_l_;  m/=_2_;  }  for(;i;i--)printf("%d",-3-[i-1]);  }  main()。  {  int b,n;  printf("\nPlease enter a number and a base:\n");  scanf("%d%d",&n,&b);  fun(n'b);  }  【答案】  (1)m%k  (2)k  (3)aa  【評析】  (1)此語句是將十進制的整型數據m轉換為k進制數據時,將余數保存在數組aa中。  (2)此語句是將十進制的整型數據m轉換為k進制數據時,每除一次k后,把商重新賦值給正整數m,以便重復取余。  (3)在for循環(huán)之后,i即為轉換成的k進制數的位數,所以根據題意要求,此語句應該是:"print("%d", aa[i-l]);"。