题解 | #字符串反转#
坐标移动
http://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
#include<stdio.h>
#include<string.h>
int main(void)
{
char buff[10001] = {0};
char a[10001] = {0};
int x = 0;
int y = 0;
int len = 0;
int sum = 0;
fgets(buff,10001,stdin);
if('\n' == buff[strlen(buff)-1])
{
buff[strlen(buff)-1] = '\0';
}
for(int i=0; i<strlen(buff); i++)
{
if(';' != buff[i])
{
len++;
}
else
{
for(int j=0; j<len; j++)
{
if(0 == j)
{
if('A' != buff[i-len] && 'S' != buff[i-len]
&& 'D' != buff[i-len] && 'W' != buff[i-len])
{
len = 0;
break;
}
}
else
{
if('9' < buff[i-len+j] || '0' > buff[i-len+j])
{
len = 0;
break;
}
a[j-1] = buff[i-len+j];
if(len-1 == j)
{
for(int k=0; k<len-1; k++)
{
sum = sum*10 + a[k] -'0';
}
if('A' == buff[i-len])
{
x = x - sum;
}
else if('D' == buff[i-len])
{
x = x + sum;
}
else if('W' == buff[i-len])
{
y = y + sum;
}
else if('S' == buff[i-len])
{
y = y - sum;
}
len = 0;
sum = 0;
}
}
}
}
}
printf("%d,%d",x,y);
return 0;
}