1022 D進制的A+B (20 分)
輸入兩個非負 10 進制整數 A 和 B (≤230−1),輸出 A+B 的 D (1<D≤10)進制數。
輸入格式:
輸入在一行中依次給出 3 個整數 A、B 和 D。
輸出格式:
輸出 A+B 的 D 進制數。
輸入樣例:
123 456 8
輸出樣例:
1103
#include <cstdio>
#include <cstring>
#include <cmath>
int main()
{
int A = 0, B = 0, C = 0, D = 0;
scanf("%d %d %d", &A, &B, &D);
C = A + B;//C存放AB之和
if(!C) printf("0");//和爲0單獨考慮,直接輸出;有個測試用例就是這個坑,讓我跳進去了
int S[50] = { 0 };//輔助棧
int top = -1;//棧頂指針
while (C)//D進制放入棧
{
S[++top] = C % D;
C /= D;
}
while (top >= 0) printf("%d", S[top--]);//打印輸出
return 0;
}