PAT basic 1022 D进制的A+B (20分) C++ 测试点3错误解释

一、题目描述

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

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

输出格式:
输出 A+B 的 D 进制数。

输入样例:
123 456 8

输出样例:
1103

二、代码

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
using namespace std;

int main()
{
     
	int a, b, d;
	long sum;
	cin >> a >> b >> d;
	sum = a + b;
	stack<int> re;
	if (sum == 0)
	{
     
		cout << "0"; return 0;
	}
	else 
	{
     
		while (sum != 0)
		{
     
			b = sum % d;
			sum = sum / d;
			re.push(b);
		}
		while (re.size() > 0)
		{
     
			cout << re.top();
			re.pop();
		}
	}



	system("pause");
	return 0;
}

三、运行结果

PAT basic 1022 D进制的A+B (20分) C++ 测试点3错误解释_第1张图片

四、测试点3错误解释

测试点3考察的是A=0,B=0时的特殊情况,此时直接输出0即可

五、题目合集

点这里~

你可能感兴趣的:(PAT,basic)