输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
1 |
123 456 8 |
输出样例:
1 |
1103 |
大约八个月以前做的……都忘了当时的过程了……
最初没有AC的代码似乎是忘了对0的单独处理,考虑不周~题目A、B都是非负的……
代码如下:
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 |
#include<stdio.h> void print_base(int num,int base) { char result[500]; int temp,i=0; if(num==0) printf("0"); while(num!=0) { temp=num%base; num/=base; result[i++]=temp+'0'; } for(i;i>0;i--) { printf("%c",result[i-1]); } } int main() { int a,b,base; scanf("%d %d %d",&a,&b,&base); if(base<1||base>10) return 1; print_base(a+b,base); } |