PAT (Basic Level) Practice (中文)1022 D进制的A+B

1022 D进制的A+B

输入两个非负 10 进制整数 A 和 B (≤2^30^−1),输出 A+B 的 D (1<D≤10)进制数。

输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

代码:

#include<stdio.h>
int fun(int *arr,long long n,int D)

{
    int t=0;
    while(n)
    {
        arr[t++]=n%D;
        n=n/D;
    }
    return t;
}
int main()
{
    long long A,B;
    int D;
    int i;
    int arr[10000];
    scanf("%lld %lld %d",&A,&B,&D);
    if(A+B==0) printf("0
");
    else{
      int temp=fun(&arr,A+B,D);
      for(i=temp-1;i>=0;i--)
      {
         printf("%d",arr[i]);
      }
      printf("
");
    }
    return 0;
}


原文地址:https://www.cnblogs.com/cafuc20160512056/p/10334608.html