要知道ASCII表,A是65,a是97
//输入A表示第一列,B表示第二列,AA表示27列....
//输入字母得到相应的列数
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<memory>
using namespace std;
template <class T>
int ReturnNumber(T* arry)
{
int length = strlen(arry);
int arr[3] = {0,0,0};
for (int i = 0; i < length; ++i)
{
arr[i] = arry[i]-64;//将字符转换为数字
}
//将26进制转换为十进制
if (arr[2])//若输入三位
{
return (arr[0]*26 +arr[1]*26 + arr[2] );
}
else if (arr[1])//如果输入两位
{
return (arr[0]*26 + arr[1]);
}
return arr[0];
}
int main()
{
char *arr = new char[];//需要先申请空间,才能进行输入,提一下vector.resize();
gets(arr);
int n = ReturnNumber(arr);
cout << n << endl;
system("pause");
free(arr);
return 0;
}