字符串做加一运算的有关问题
字符串做加一运算的问题!
举例 一个字符串 “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++;
}
举例 一个字符串 “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++;
}