这道题实际上就是进制转换,将10进制转换为26进制。
想把对应的数字转换成对应的字母,
char(‘A’+i-1)
,这里就将数字i转换成了对应的第i个字母(i=1~26)
A对应的ASC码是65,char()是进行强制类型转换。
对应的代码如下:
#include<iostream>
#include<string> //引入STL库中的string
using namespace std;
int main(){
string res; //用来装最后输出的字串
string a; //每次取模运算之后得到的字母
int n=2019;
while(n){
a=char('A'+n%26-1);
n/=26;
res=res.append(a);
//res=res+a; //string输出方式二
}
cout << res <<endl; //得出来的结果字串的逆序即是结果
cout << int('A') <<endl;
return 0;
}
最后的输出结果的逆序输出即为答案,为
BYQ
版权声明:本文为Cimiy_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。