算法题:A返回0, Z返回25,其它返回-1
函数接受一个大写字符,返回一个数字,规则是:A返回0, Z返回25,其它返回-1
实现很简单,但是有没有好的算法?
[解决办法]
int test(char ch)
{
return (unsigned)(ch - 'A') <= 25 ? ch - 'A' : -1;
}
[解决办法]
预先算好 _v:
char _v[0x100];
memset(_v, -1, sizeof(_v));
for (char c = 'A'; c <= 'Z'; c++)
{
_v[c] = c - 'A';
}
然后,要调用的时候只需要
int vvv(char c)
{
return (int)_v[c];
}