**
题目描述
**
输入一个十进制正整数,把这个数转换为n进制。
**
输入要求
**
输入两个整数num和n,num表示要转换的数,n表示要转换成的进制。如10 2表示要求将十进制数10转换成二进制数。(2<=n<17)
**
输出要求
**
输出转化后的进制数,每个数字之后跟一空格,如果数字大于9,则输出大写英文字母(10-16分别对应A-F)。
**
输入样例
**
10 2
**
输出样例
**
1 0 1 0
#include <stdio.h>
int main() {
int num, n, t[10000], i, s;
scanf("%d%d", &num, &n);
for (i = 0; num != 0; i++) // 当取整为0时说明除到了最后
{
t[i] = num % n; // 用数组存余数,也就是我们要的进制数
num = num / n; // 取整,继续除下去
s = i; //记录最终数组的下标,为倒叙输出余数做铺垫
}
for (i = s ; i >= 0; i--) // 遍历数组,倒叙输出
{
if (t[i] > 9)
printf("%c ", t[i] - 10 + 'A');//大于9-10,如果是10则输出A,比A多几也就是比10多几,故差值代表溢出的数
else
printf("%d ", t[i]);
}
printf("\n");
return 0;
}