您的位置:首页 > 编程语言 > C语言/C++

PAT (Basic Level) Practise (中文)1022. D进制的A+B (20) C语言

2015-07-21 09:09 369 查看


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

类似10进制的分解每一位数字,代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
int A,B,D,sum=0,i=0,j=0;
int number[100]={};/*转换成2进制最多可能有32位,所以给个100的数组足够*/
scanf("%d %d %d",&A,&B,&D);
sum=A+B;

while(sum!=0)
{
number[i]=sum%D;
sum=sum/D;
i++;
}
for(j=i-1;j>=0;j--)
{
printf("%d",number[j]);
}
if(i==0)/*没有进入过循环,即A+B=0*/
{
printf("0");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: