【华为2015暑期实习生上机题】仿照Excel的列编号

这是本人上个月做的,武汉地区的上机题中的第三个,三个题目都是字符串的,共450分,两个小时内完成。

仿照Excel的列编号,给出该列编号字符串,,输出一个数字。

例如:a对应1,z对应26,aa对应27,az对应52 ……

#include <iostream>#include <string>using namespace std;//字符串到数字的转换,相当于26进制int stoi(char *s){int n=0;//字符串长度int i=0;//循环变量int a,m;//中间变量int val=0;//转换后的值char *p=NULL;//指针变量n=strlen(s);p=s+n-1;//指向字符串最后一个字符//从个位开始往前计算for (i=1; i<=n; i++){a=i;m=1;while(a>1){m*=26;a–;}m*=(*p-'a'+1);val+=m;}return val;}int main(){char out[255] = {0};cin>>out;int b=stoi(out);cout<<b<<endl;getchar();return 0 ;}

少一点预设的期待,那份对人的关怀会更自在

【华为2015暑期实习生上机题】仿照Excel的列编号

相关文章:

你感兴趣的文章:

标签云: