//对A=1,B=2...Z=26,AA=27,AA=28,ZZ...
//将字符串转为相应整数
//c语言实现
#include <stdio.h>
int countA(char a[])//普通方法
{
int all=0;
int i=0;
while(a[i]!='\0')
{
all = all * 26 + a[i]-'A' +1 ;
i++;
}
return all;
}
int countB(char a[])//指针方法
{
int all=0;
char *p=a;
while(*p!='\0')
{
all = all * 26 + *p-'A' +1 ;
p++;
}
return all;
}
int main()
{
char s[10];
char t;
while(1)
{
int i=0;
while((t=getchar())!='\n')
{
if(t==EOF)
return 0 ;
s[i]=t;
i++;
}
s[i]='\0'; //字符数组最后要加上!
int c = countA(s);
int d = countB(s);
printf("%d\t%d\n",c,d);
}
return 0;
}
(2013腾讯广研创新班笔试题目)