PAT 乙级 1022 D进制的A+B(进制转换)

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

输入两个非负10进制整数A和B(<=2^30^-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:

123 456 8

输出样例:

1103

C++:

#include <stdio.h>
int main()
{
	int f ,b, d,sum,c,a[100],k=0;
	scanf("%d %d %d", &f, &b, &d);
	for(sum = f + b;sum!=0;) {
		c = sum%d;//对d进制取余再取整即可
		sum /= d;
		a[k++] = c;
	}
	if (k == 0)
		printf("0");
	else {
		for(int i=k-1;i>=0;i--)
			printf("%d",a[i]);
	}
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/zpjlkjxy/article/details/81739130