PAT乙1022:D进制的A+B

假如想象 提交于 2020-02-02 01:17:40

问题描述:

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

输入格式:

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

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

 

代码:

唯一需要注意的是,不能漏掉0这个情况

#include <iostream>
using namespace std;

int main()//求余,反向输出
{
	int A, B, D, sum;
	cin >> A >> B >> D;
	sum = A + B;
	char ch[35];
	int i = 0;

	if (sum == 0)//可以去掉这步,用do while进行替代,如果忘记这个,会扣2分
		cout << "0";
	else
	{
		while (sum)
		{
			ch[i++] = sum % D + '0';
			sum /= D;
		}
		i--;
		for (int j = i; j >= 0; j--)
			cout << ch[j];
	}
	return 0;
}

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!