1022. D进制的A+B (20)

来源:互联网 发布:欧美网络教育本科文凭 编辑:程序博客网 时间:2024/06/10 20:49
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

输入在一行中依次给出3个整数A、B和D。

输出格式:

输出A+B的D进制数。

输入样例:


123 456 8
输出样例:

1103



//商为0,则表示结束 #include<stdio.h>#include<string.h>//封装的比较完整了,这个可以计算10进制转换成2 8 16进制void convto(char *s, int n, int b){char bit[] = { "0123456789ABCDEF" };int len;if (n == 0){strcpy(s, "");return;}convto(s, n / b, b);len = strlen(s);s[len] = bit[n%b];s[len + 1] = '\0';}int main(){char s[80];   int base, old1,old2,old;scanf("%d%d%d", &old1,&old2,&base);old = old1 + old2;if (old == 0)printf("0\n");else{convto(s, old, base);printf("%s\n", s);}return 0;}



0 0