美文网首页
PAT-B 1022 D进制的A+B(C语言)

PAT-B 1022 D进制的A+B(C语言)

作者: dk_qi | 来源:发表于2018-12-24 11:32 被阅读0次

    题目

    链接:PAT (Basic Level) Practice 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


    思路

    1. 将A、B相加得到和sum;
    2. 进制转换:如代码。

    代码

    #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---

    相关文章

      网友评论

          本文标题:PAT-B 1022 D进制的A+B(C语言)

          本文链接:https://www.haomeiwen.com/subject/giuakqtx.html