昨天太浪没有练习,今天要努力补上!
新年第一天,祝大家新年快乐~
题目描述
输入两个非负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;
}