1022 D进制的A+B (20 分)
输入两个非负 10 进制整数 A 和 B (≤−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
我的代码(使用递归)
#include<stdio.h>
void change(int num,int sys){
if(num!=0){
change(num/sys,sys);
printf("%d",num%sys);
}
}
int main(){
int num1,num2,sys,sum;
if(scanf("%d %d %d",&num1,&num2,&sys)){};
sum=num1+num2;
if(sum==0) printf("0");
else change(sum,sys);
return 0;
}
注意 :我是使用的是递归来处理进制间的转化,要考虑到,和为0的情况。