题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
//利用atoi转换数字
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int x = 0;
int y = 0;
int i = 0;
char arr[10000] = "";
scanf("%s", arr);
int sz = strlen(arr);
for (i = 0; i < sz; i++)
{
if (((i == 0) || arr[i - 1] == ';')&&((arr[i] == 'A') || (arr[i] == 'D') || (arr[i] == 'W') || (arr[i] == 'S'))
&& ((arr[i + 1] >= '0') && (arr[i + 1] <= '9'))
&& (((arr[i + 2] >= '0') && (arr[i + 2] <= '9') && (arr[i + 3] == ';'))
|| (arr[i + 2] == ';')))
{
if (arr[i] == 'A')
{
x -= atoi(&arr[i + 1]);
}
if(arr[i] == 'D')
{
x += atoi(&arr[i + 1]);
}
if (arr[i] == 'W')
{
y += atoi(&arr[i + 1]);
}
if (arr[i] == 'S')
{
y -= atoi(&arr[i + 1]);
}
}
}
printf("%d,%d\n", x, y);
return 0;
}