四、阅读程序-3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <algorithm>

  using namespace std;
  
  const int MAXL = 1000;
  
  int n, k, ans[MAXL];
  
  int main(void) 
 {
     cin >> n >> k;
     if (!n) cout << 0 << endl;
     else 
     {
         int m = 0;
         while (n) 
         {
             ans[m++] = (n % (-k) + k) % k;
             n = (ans[m - 1] - n) / k;
         }
         for (int i = m - 1; i >= 0; i--)
             cout << char(ans[i] >= 10 ?
                          ans[i] + 'A' - 10 :
                          ans[i] + '0');
         cout << endl;
     }
      return 0;
 }

假设输入的 n 在 int 范围内,k 为不小于 2 且不大于 36 的正整数,完成下面的判断题和单选题:

Scroll to Top