2019.1.1小白之路:D进制的A+B

昨天太浪没有练习,今天要努力补上!
新年第一天,祝大家新年快乐~

题目描述

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

输入格式:

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

输出格式:

输出A+B的D进制数。

学习一种进制转换方法:
十进制转换为x进制:

    int z[40],num=0;
	do {
		z[num++] = temp % d;
		temp = temp / d;
	} while (temp != 0);
	for (int j = num-1; j >= 0; j--)
		printf("%d", z[j]);

x进制转换为十进制:

	int y = 0, product = 1;
	while (x != 0) {
		y = y + (x % 10)*product;
		x = x / 10;
		product = product * P;
	}

题目代码段:

#include "stdio.h"

int main() {
	int a, b, d;
	int temp;
	printf("请输入两个非负十进制整数A和B以及进制数D,以逗号隔开:\n");
	scanf_s("%d%d%d", &a, &b, &d);
	temp = a + b;
	int z[40],num=0;
	do {
		z[num++] = temp % d;
		temp = temp / d;
	} while (temp != 0);
	printf("A+B的D进制表示为:\n");
	for (int j = num-1; j >= 0; j--)
		printf("%d", z[j]);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/shensen0304/article/details/85524383
今日推荐