题目
链接:PAT (Basic Level) Practice 1022 D进制的A+B
输入两个非负 10 进制整数 A 和 B ,输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
思路
- 将A、B相加得到和sum;
- 进制转换:如代码。
代码
#include<stdio.h>
#include<string.h>
int main()
{
int A,B,D,sum;
scanf("%d %d %d", &A, &B, &D);
sum = A + B;
int p[33]; // 用于存放进制转换后的数
int q;
int i,j;
for(i = 0; i < 33; i++){ //进制转换
p[i] = sum % D;
sum = sum / D;
if(sum == 0){
break;
}
}
for(int j = i; j >= 0; j--){ //从高位到低位逐步输出p里的数字
printf("%d", p[j]);
}
}
---END---
网友评论