Excel列的名称

在 Excel 中,列的名称使用英文字母的组合。前 26 列用一个字母,依次为 A 到 Z,接下来 26*26 列使用两个字母的组合,依次为 AA 到 ZZ。
  请问第 2023 列的名称是什么?

 

思路:既然求2023列,那我们就可以先计算26和26*26列总共用的列数,可以得到702。

所以2023列肯定不是一个字母和两个字母的列数。由26*26*26得出2023列是位于三个字母中的。

从三个字母开始计算,可以知道从1321列开始为三个字母,剩下用暴力枚举就可以得到正确结果了。如果要算一个字母或两个字母的,加个if语句就可以了。

 

 

 

#include <stdio.h>
int main()
{//BYU
    int k=0,m,n,i;
    char a[27 ]={' ','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','W','R','S','T','U','V','W','X','Y','Z'};
    for(i=1;i<=26;i++)
    {
    if(k==1321)
    {
        printf("%c%c%c",a[i],a[n],a[m]);
        return 0;
    }
    
        for(n=1;n<=26;n++)
    {
    if(k==1321)
    {
        printf("%c%c%c",a[i],a[n],a[m]);
    return 0;
    }
    
        for(m=1;m<=26;m++)
    {
        k++;
    if(k==1321)
    {
        printf("%c%c%c",a[i],a[n],a[m]);
        return 0;
    }
    }}}
}

#include <stdio.h>
int main()
{//BYU
    int k=0,m,n,i;
    char a[27 ]={' ','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','W','R','S','T','U','V','W','X','Y','Z'};
    for(i=1;i<=26;i++)
    {
    if(k==1321)
    {
        printf("%c%c%c",a[i],a[n],a[m]);
        return 0;
    }
    
        for(n=1;n<=26;n++)
    {
    if(k==1321)
    {
        printf("%c%c%c",a[i],a[n],a[m]);
    return 0;
    }
    
        for(m=1;m<=26;m++)
    {
        k++;
    if(k==1321)
    {
        printf("%c%c%c",a[i],a[n],a[m]);
        return 0;
    }
    }}}
}
 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值