1022 D进制的A+B (20分)
输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
简单的数制转化,注意有个小陷阱
小二,上代码!
#include<iostream>
#include<string>
using namespace std;
int main()
{
int a, b, d, arr[32] = {0};
while (cin >> a >> b >> d)
{
int c = a + b;
if (c == 0)//如果和为0,直接输出,这里就是小陷阱
{
cout << 0 << endl;
continue;
}
int sizea = 0;
while (c )
{
arr[sizea++] = c % d;
c /= d;
}
for (int i = sizea - 1; i >= 0; i--)
cout << arr[i];
cout << endl;
}
return 0;
} 
京公网安备 11010502036488号