Pat(Basic Level)Practice--1022(D进制的A+B)

Pat1022代码

题目描述:

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

输入格式:

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

输出格式:

输出A+B的D进制数。

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

AC代码:
#include<cstdio>
#define MAX 1000

using namespace std;

int main(int argc,char *argv[])
{
	long long a,b,d;
	long long i,temp,sum;
	int array[MAX];
	scanf("%lld%lld%lld",&a,&b,&d);
	sum=a+b;
	i=0;
	if(sum==0)
		printf("0");
	else
	{
		while(sum)
		{
			array[i]=sum%d;
			sum=sum/d;
			i++;
		}
	    i--;
     	for(;i>=0;i--)
	    	printf("%d",array[i]);
	}
	printf("\n");

	return 0;
}

其中一个case是a=b=0,注意一下。。。

你可能感兴趣的:(C++,basic,pat,基础题)