题解 | #坐标移动#
坐标移动
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; }