PAT A1027 Colors in Mars

有点意思,简单的进制转化,但是实际上有坑

每两位作为一个单位进行处理,每两个都是倒序的,也就是说,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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值