PAT_Basic Level_Practice_1022 (20)

题目描述:

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

 进制转换用do...while即可。

C++代码:

#include <cstdio>
int main(){
  int a,b,c;
  scanf("%d%d%d",&a,&b,&c);
  int sum=a+b;
  int ans[31];
  int p=0;
  do{
    ans[p++]=sum%c;
    sum/=c;
  }while(sum!=0);
  for(int i=p-1;i>=0;--i){
    printf("%d",ans[i]);
  }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41637618/article/details/88074996