题解 | #坐标移动#

坐标移动

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;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:55
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务