P 1022 D进制的A+B

转跳点 :🐏

 

1022 D进制的A+B 
 

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

输入格式:

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

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8
 

输出样例:

1103

 

  这道题纯粹考察了进制转换,没什么难度。模拟短除法的过程轻松AC,记得特殊考虑0的情况,数组得倒着输出

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main(void)
 5 {
 6     int arr[32] = {0};
 7     int A, B, C, D, count = 0;
 8     scanf("%d %d %d", &A, &B, &D);
 9     C = A + B;
10 
11     if (0 == C)
12     {
13         count = 1;
14     }
15 
16     while (0 != C)
17     {
18         arr[count++] = C % D;
19         C /= D;
20     }
21 
22     for (int i = count - 1; i >= 0; i--)
23     {
24         printf("%d", arr[i]);
25     }
26 
27     return 0;
28 }

 

  PTA不易,诸君共勉!

posted @ 2020-01-09 11:04  秦_殇  阅读(140)  评论(0编辑  收藏  举报