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;
}
本文介绍了一个1022D进制加法计算器的实现方法,该计算器能够接收两个非负十进制整数A和B(≤2^30−1),并输出它们的和在D进制(1<D≤10)下的表示。通过使用C语言,文章详细展示了如何将十进制数转换为D进制数,并提供了完整的代码示例。
 1022 D进制的A+B (20 分) (C++)&spm=1001.2101.3001.5002&articleId=85725047&d=1&t=3&u=4edf7b098a6b4c9e9a738a4cddbdcf0c)
233

被折叠的 条评论
为什么被折叠?



