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

来源:互联网 发布:java窗口程序 编辑:程序博客网 时间:2024/06/06 03:28

输入两个非负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>#define Maxn 32int result[Maxn];int convert(int input,int result[],int radix);int main(void){int A,B,D;int sum,length,i;scanf("%d %d %d",&A,&B,&D);sum = A+B;length = convert(sum,result,D);for(i=length-1;i>=0;--i)printf("%d",result[i]);return 0;}int convert(int input,int result[],int radix){int length = 0;if(input == 0){length = 1;return length;}while(input>0){result[length++] = input % radix;input /= radix;}return length;}


0 0