Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

复制代码
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

复制代码
输入:columnNumber = 1
输出:"A"

示例 2:

复制代码
输入:columnNumber = 28
输出:"AB"

示例 3:

复制代码
输入:columnNumber = 701
输出:"ZY"

示例 4:

复制代码
输入:columnNumber = 2147483647
输出:"FXSHRXW"

思路:定义两个全局变量数组,将输入的数对26进行整除和取余操作,从低到高存在数组1中,数组2反向装入数组1的内容。

复制代码
#include <stdio.h>

char g_ret[8];
char g_ret1[8];

char * convertToTitle(int columnNumber){
    int n=columnNumber;
    int k,j=0,i=0;
    while(n>0)//当输入值大于0时
    {
        k=n%26;//除26取余数
        n=n/26;//除26取整
        if(k==0)//当n能被26整除时
        {         
            k=26;    //k=26     
            n--;     //n减1    
        }
        g_ret[i++]='A'+k-1;//当k能被26整除时g_ret最高位为'Z',即'A'+26-1;当k不能被26整除时,g_ret等于'A'+某个小于25的值
    }
    g_ret[i]='\0';//最后一位为截至符
    i=i-1;//从倒数第二位开始
    while(i>=0)
    {
        g_ret1[j++]=g_ret[i];//将g_ret中最高位赋值给g_ret1中最低位
        i--;
    }
    g_ret1[j]='\0';
    //char *p = g_ret1;
    //return p;
}

int main()
{

    int columnNumber = 252;
    convertToTitle(columnNumber);
    printf("%s\n",g_ret1);//直接打印全局变量


    return 0;
}
相关推荐
天若有情6735 小时前
新闻通稿 | 软件产业迈入“智能重构”新纪元:自主进化、人机共生与责任挑战并存
服务器·前端·后端·重构·开发·资讯·新闻
鱼干~5 小时前
electron基础
linux·javascript·electron
香香爱编程5 小时前
electron对于图片/视频无法加载的问题
前端·javascript·vue.js·chrome·vscode·electron·npm
apocelipes6 小时前
POSIX兼容系统上read和write系统调用的行为总结
linux·c语言·c++·python·golang·linux编程
程序猿_极客6 小时前
【期末网页设计作业】HTML+CSS+JavaScript 蜡笔小新 动漫主题网站设计与实现(附源码)
前端·javascript·css·html·课程设计·期末网页设计
zl_vslam6 小时前
SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(一)
前端·人工智能·算法·计算机视觉·slam se2 非线性优化
森语林溪6 小时前
大数据环境搭建从零开始(十四)CentOS 7 系统更新源更换详解:阿里云镜像源配置完整指南
大数据·linux·运维·阿里云·centos
AntHub7 小时前
vba 输出到日志文件
excel
CDwenhuohuo7 小时前
用spark-md5实现切片上传前端起node模拟上传文件大小,消耗时间
前端
阿桂有点桂7 小时前
React使用笔记(持续更新中)
前端·javascript·react.js·react