PAT B1022 D进制的A+B (20分)

题目链接https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344

题目描述
输入两个非负 10 进制整数 A 和 B (≤2^​30−1),输出 A+B 的 D (1<D≤10)进制数。

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

输出
输出 A+B 的 D 进制数。

样例输入
123 456 8

样例输出
1103

代码

#include<stdio.h>
	int main() {
		int A, B, C, D;
		int z[40], i = 0;
		scanf("%d%d%d", &A, &B, &D);
		C = A + B;
		do{
			z[i++] = C % D;
			C /= D;
		}while(C != 0);              //do while型是因为防止C为0时,不进入循环;
		for(i--; i >= 0; i--)		 //i要-1,因为循环中多加了一次;
			printf("%d",z[i]);
		printf("\n");
		return 0;
	}
发布了83 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Rhao999/article/details/103991889