这是本人上个月做的,武汉地区的上机题中的第三个,三个题目都是字符串的,共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 ;}
少一点预设的期待,那份对人的关怀会更自在