字符译码之一

字母译码,A代表数列第1列,B第2列,Z第26列,AA第27列,写一个函数,输入字符,输出字符表示列号。
解题思路:字符译码,相当于26进制。用26进制表示十进制。

#include
#include
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;
}

你可能感兴趣的:(C++学习之路)