Microsoft de Excel的列编号是字符编号:a,b,c...z,aa,ab,ac...对应的数字编号是1,2,3...27,28,29...
实现转换算法,输入字符编号(字母为小写),输出数字编号。<如输入:aa 则输出:27>代码如下:
#include <iostream>
#include <string>
using namespace std;
/*
int power(int a, int n)
{
if (n == 0)return 1;
else if (n == 1)return a;
else return a *= power(a, n - 1);
}
*/
int str_to_int(char c, int i)
{
int temp = 0;
if (c == 'a')
{
temp = 1;
}
else
temp = c - 'a' + 1;
return temp*pow(26, i);
}
int main()
{
string str;
cin >> str;
int len = str.length();
int out = 0;
for (int i = len - 1; i >= 0; i--)
{
char c = str[i];
int temp = str_to_int(c, len - 1 - i);
out = out + temp;
}
cout << out<<endl;
system("pause");
return 0;
}