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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP