字母譯碼,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;
}