字母译码,A代表数列第1列,B第2列,Z第26列,AA第27列,写一个函数,输入字符,输出字符表示列号。
解题思路:字符译码,相当于26进制。用26进制表示十进制。
#include<stdio.h>
#include<string>
int GetNumOfColumn(char *string){
int len = strlen(string);
if(len < 0){
printf("invalid input\n");
return -1;
}
int temp;
int sum = 0;
string
for (int i = 0; i < len; ++i){
temp = string[i] - 'A';
if(temp >= 26 || temp < 0){
printf("invalid input\n");
return -1;
}
sum = sum*26 + temp +1; // 注意
}
return sum;
}