有点意思,简单的进制转化,但是实际上有坑
每两位作为一个单位进行处理,每两个都是倒序的,也就是说,15 43 71---》21 43 65,其实只要分三组存储,分开输出即可
//1027 Colors in Mars (20分)
#include <cstdio>
char x[14] = { "0123456789ABC" };
void convert(int *n, int b, char k[][2])//
{
for (int i = 0; i <3; i++) {
int count = 0;
int num = n[i];
do {
k[i][count++] = x[num % b];
num /= b;
} while (num);
if (count < 2)//有1个位置没填满
k[i][count] = '0';
}
}
int main()
{
char rgb[3][2] = {0};//有坑,必须分开3组填入 21 43 65,分开输出
int n[3], b,count;
b = 13;
for (int i = 0; i <3; i++) {
scanf("%d", n + i);
}
convert(n, b, rgb);
putchar('#');
for (int i = 0; i<3; i++) {
for (int j = 1; j >= 0; j--) {
putchar(rgb[i][j]);
}
}
return 0;
}