Excel表的列名称
描述
给定一个正整数,返回它在 Excel 表中相对应的列名称(注:Excel列编号规则是仅用大写字母编号)。
例如,
1⟶A
2⟶B
3⟶C
...
26⟶Z
27⟶AA
28⟶AB
...
702⟶ZZ
703⟶AAA
704⟶AAB
...
输入
一个整数,表示列号,不超过16384。
输出
一个字符串,表示列名称。
输入样例 1
1
输出样例 1
A
输入样例 2
28
输出样例 2
AB
输入样例 3
1000
输出样例 3
ALL
来源
XMU
#include <stdio.h>
void get_excel_name(int number, char *name)
{
int reminder;
int ptr_name = 0;
while (number)
{
reminder = (number - 1) % 26;
name[ptr_name++] = (char)('A' + reminder);
number = (number - 1) / 26;
}
for (int i = 0, j = ptr_name - 1; i < j; ++i, --j)
{
char temp = name[i];
name[i] = name[j];
name[j] = temp;
}
}
int main()
{
int col;
char name[5] = { 0 };
scanf("%d", &col);
get_excel_name(col, name);
printf("%s", name);
return 0;
}