PAT乙级 1022. D进制的A+B (20)

1022. D进制的A+B (20)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

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

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:
123 456 8
输出样例:
1103
___________________________

注意 要用long long int
scanf 时 %lld
注意考虑a=0 的情况!!!!!!!!!
 1 #include "stdio.h"
 2 #include"string.h"
 3 #include <stdlib.h>
 4 int main()
 5 {
 6     int shang=0,yushu=1,a=579,d=8,i=0,j;
 7     long int A,B;
 8     char b[10000];
 9     scanf("%ld %ld %d",&A,&B,&d);
10     a=A+B;
11     if(a==0)
12         printf("0");
13     else{
14     while(a){
15     yushu=a%d;
16     a=(a-yushu)/d;
17     b[i++]=yushu+'0';}
18     for(j=i-1;j>=0;j--)
19         printf("%c",b[j] );}
20     return 0;
21 }

 

posted @ 2016-10-03 09:50  乐乐章  阅读(159)  评论(0编辑  收藏  举报