C++ 中的 Excel 表格列号


众所周知,excel 列号为字母。它从 A 开始,在 Z 之后是 AA、AB、ZZ,然后又是 AAA、AAB、ZZZ,依此类推。因此,第 1 列是 A,第 27 列是 Z。此处我们将了解如何在给出列数的情况下获取列字母。因此,如果列数为 80,那么它将是 CB。

假设我们有一个数字 n,其值为 28,那么我们需要用 26 取模。如果余数为 0,则该数字为 26、52,依此类推。然后我们在输出字符串中放入 Z。n 的值变为 n/26 – 1。如果余数不为零,那么我们需要根据字符串将相应的字符插入其中,然后令 n = n/26。最后,将打印字符串的反转。

示例 (C++)

 在线演示

#include<iostream>
#include<algorithm>
using namespace std;
void showColumnLetters(int n) {
   string str = "";
   while (n) {
      int rem = n%26;
      if (rem==0) {
         str += 'Z';
         n = (n/26)-1;
      }
      else{
         str += (rem-1) + 'A';
         n = n/26;
      }
   }
   reverse(str.begin(), str.begin() + str.length());
   cout << str << endl;
}
int main() {
   int n = 700;
   cout << "Cell name of " << n << " is: ";
   showColumnLetters(700);
}

输入

Cell number: 700

输出

Enter cell number:700
Cell name of 700 is: ZX

更新日期: 2020 年 4 月 28 日

730 次浏览

开您事业

完成课程获得认证

开始
广告
© . All rights reserved.