题目 1022 D进制的A+B (20 分)
输入两个非负 10 进制整数 A 和 B (≤2
30
−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
思路:
进制转换实质上就是一个求模运算
代码实现(c++):
#include <cstdio>
int main(){
int a, b, c, d;
int s[31]={0};
int i=0;
scanf("%d %d %d", &a, &b, &d);
c=a+b;
if(c==0)printf("0\n");
while(c>0){
s[i++]=c%d; //计算每一位的进制转换数字
c/=d; //去除最低位,继续运算
}
for (int j=i-1; j>=0; j--){
printf("%d", s[j]); //从高位进行输出
}
return 0;
}


218

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



