'commit'
This commit is contained in:
45
C++专题课程/进制转化/数制转换(递归实现).cpp
Normal file
45
C++专题课程/进制转化/数制转换(递归实现).cpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std;
|
||||
int flag=1; /* check: n/d == 0 */
|
||||
void trans_num(int n, int d) {
|
||||
int mod;
|
||||
mod=n%d;
|
||||
n=n/d;
|
||||
while(flag && n) {
|
||||
trans_num(n,d);
|
||||
}
|
||||
flag=0;
|
||||
switch(mod) {
|
||||
case 10:
|
||||
printf("A");
|
||||
break;
|
||||
case 11:
|
||||
printf("B");
|
||||
break;
|
||||
case 12:
|
||||
printf("C");
|
||||
break;
|
||||
case 13:
|
||||
printf("D");
|
||||
break;
|
||||
case 14:
|
||||
printf("E");
|
||||
break;
|
||||
case 15:
|
||||
printf("F");
|
||||
break;
|
||||
default:
|
||||
printf("%d", mod);
|
||||
}
|
||||
|
||||
}
|
||||
int main() {
|
||||
int n, d;
|
||||
printf("Enter n d: ");
|
||||
scanf("%d %d", &n, &d);
|
||||
|
||||
trans_num(n, d);
|
||||
printf("\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user