zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise:1022. D进制的A+B

    【题目连接】

    输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

    输入格式:

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

    输出格式:

    输出A+B的D进制数。

    输入样例:

    123 456 8
    

    输出样例:

    1103

    提交代码:

     1 #include <stdio.h>
     2 
     3 int convert(int a, int b, int c, int *d, int len)
     4 {
     5     int cnt, x;
     6     int calc = a + b;
     7     
     8     cnt = 0;
     9     while(calc)
    10     {
    11         x = calc % c;
    12         if(cnt < len)
    13         {
    14             d[cnt] = x;
    15         }
    16         calc /= c;
    17         cnt++;
    18     }
    19     return cnt;
    20 }
    21 
    22 void reverse(int *d, int len)
    23 {
    24     int i, tmp;
    25 
    26     for(i = 0; i < len / 2; i++)
    27     {
    28         tmp = d[i];
    29         d[i] = d[len-i-1];
    30         d[len-i-1] = tmp;
    31     }
    32 }
    33 
    34 int main(void)
    35 {
    36     int a, b, c;
    37     int d[32];
    38     int i, len;
    39 
    40     scanf("%d %d %d", &a, &b, &c);
    41 
    42     len = convert(a, b, c, d, sizeof(d)/sizeof(d[0]));
    43 
    44     if(len == 0)
    45     {
    46         printf("0");
    47     }
    48     else
    49     {
    50         reverse(d, len);
    51 
    52         for(i = 0; i < len; i++)
    53         {
    54             printf("%c", d[i]+'0');
    55         }
    56     }
    57     return 0;
    58 }
  • 相关阅读:
    linux
    python(4)
    python(4)
    python(4)–yield实现异步
    python(4)-迭代器 和 生成器
    JavaScript函数参数问题
    文字垂直居中
    Window-document-javascript
    Java的StringTokenizer类
    Web应用与Spring MVC锁session
  • 原文地址:https://www.cnblogs.com/utank/p/4748122.html
Copyright © 2011-2022 走看看