思路:这是一道进制转换题,读懂题意就知道,只需把输入转化成13进制数就行。但要注意第一位没有数要输出0,以及怎么输出A,B,C。

代码:(开始学C++了,代码风格可能是C和C++混搭,会慢慢调整的)

#include<iostream>
using namespace std;
void output(int n){
	char n1;
	if(n/13 == 0){  //第一位没有数,输出0
		cout << 0;
		if(n%13>9){
			n1 = 'A'+n%13-10;  //如何输出A,B,C,只需令字符型A+1/2/3即可
			cout << n1;
		}
		else cout << n%13;
	}
	else{
		if(n/13>9){
			n1 = 'A'+n/13-10;
			cout << n1;
		}
		else cout << n/13;
		if(n%13>9){
			n1 = 'A'+n%13-10;
			cout << n1;
		}
		else cout << n%13;
	}
}

int main(){
	int r,g,b;
	cin >> r >> g >> b;
	cout << "#";
	//red
	output(r);
	//green
	output(g);
	//blue
	output(b);
	return 0;
}

 版权声明:本文为博主原创文章,如有错误,恳请大家在评论区指出,在下不胜感激~如要转载注明出处即可~