字符串做加一运算的有关问题

字符串做加一运算的问题!
举例   一个字符串   “R13”要做加1运算     R位按A-Z递增     13位按数值递增!
EX:   R99-> S00   ;
我的意思是把字符串分成3个字符   然后做循环   再加上开关语句   利用ASC玛值   做运算,但是   写起来超级罗嗦   一点也不简单~!
请各位不吝赐教,有什么好的思想   介绍下   谢谢了!

------解决方案--------------------
char str[]= "R99 ";
char *p = str;
while(p)
{
if(*p > = 'a ' && *p <= 'z ' || *p > = 'A ' && *p <= 'Z ')
*p = (*p == 'z ')? 'a ':((*p == 'Z ')? 'A ':(*p + 1));
if(*p> = '0 ' && *p <= '9 ')
*p = (*p == '9 ')? '0 ':(*p+1);
p++;
}
保证通过
------解决方案--------------------
char str[]= "R99 ";
char *p = str;
while(*p != '\0 ')
{
if (*p > = 'a ' && *p <= 'z ')
{
*p = (*p + 1)% 'z ';
}
if (*p > = 'A ' && *p <= 'Z ')
{
*p = (*p + 1)% 'z ';
}
if (*p> = '0 ' && *p <= '9 ')
{
*p = (*p+1)% '9 ';
}

p++;
}