年号字串

本文解析了如何通过小明的字母数字转换规则,将2019转换成字符串形式。关键步骤包括将十进制转二十六进制,并应用字母映射规则。最终得出2019对应的字符串为'BYQ'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。
对于 27以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对应 28,AZ 对应 52,LQ 对应 329。
请问 2019 对应的字符串是什么?

分析

一共有26个字母,说明该字符表示是以26为模来表示的,那么2019的字符串的表示,就是对于2019进行十进制转二十六进制运算。

计算过程

用2019除以26,商为77,余17;
用 77 除以26,商为2,余25;
用 2 除以26,商为0,余2;
则2019的二十六进制应该为’2‘, ’ 25‘ ,’17‘ ,即BYQ

代码

int main()
{
	char str[27] = {'0','A','B','C','D','E','F','G','H',
					'I','J','K','L','M','N','O','P','Q',
					'R','S','T','U','V','W','X','Y','Z'};
	int n = 2019;
	int m;
	string s = "";//这里注意要用双引号,因为是字符串变量
	while(n)
	{		
		m=n%26;
		if(m==0)
		{
			s=s+'Z';
			n=n/26-1;
		}
		else
		{
			s=s+str[m];
			n/=26;
		}
	}
	for(int i=s.size()-1;i>=0;i--)
		cout<<s[i];
	cout<<endl;
	return 0;
}

一定要注意这里面的临界问题,比如说n取52的时候,不要让它输出为B0了。

运行截图

在这里插入图片描述

总结

多注意题目给出的样例信息,灵活运用字符数组、字符串变量等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值