年号字串
题目描述:
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。
请问 2019 对应的字符串是什么?
题目解析
类比于一个整数提取数码;例如n=123
while(n!=0)
{
printf("%d",n%10);
n=n/10;
}
此处A-Z 26为 一个周期。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int m = 2019, t;
while (m != 0)
{
t = m % 26;
printf("%c", t + 64);
m = m / 26;
}
}
输出结果:
代码改进,因为答案为BYQ文明需要将字符存入数组中,再倒叙输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int m = 2019, t;
int i = 0;
char a[20];
while (m != 0)
{
t = m % 26;
a[i]=t+64;
m = m / 26;
i++;
}
for (int j = i-1; j >= 0; j--)
printf("%c", a[j]);
}
输出结果: