题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

#include <ctype.h>
#include <stdio.h>
#include "string.h"

typedef struct{
    int x;
    int y;
}POS;

POS pos;

void _move(char direction, int value)
{
    switch(direction)
    {
    case 'A':
    {
        pos.x -= value;
        break;
    }
    case 'D':
    {
        pos.x += value;
        break;
    }
    case 'W':
    {
        pos.y += value;
        break;
    }
    case 'S':
    {
        pos.y -= value;
        break;
    }
    }
}

int main() {
    char str[10000] = {0};
    scanf("%s",str);
    char* p = strtok(str, ";");
    int num;
    int len;
    while(p!=NULL)
    {
        len = strlen(p);
        if(len==2)
        {
            if((p[0]=='A'||p[0]=='D'||p[0]=='W'||p[0]=='S')&&isdigit(p[1]))
            {
                num = p[1] - '0';
                _move(p[0],num);
            }          
        }
        else if(len==3)
        {
            if((p[0]=='A'||p[0]=='D'||p[0]=='W'||p[0]=='S')&&isdigit(p[1])&&isdigit(p[2]))
            {
                num = (p[1] - '0')*10+p[2] -'0';
                _move(p[0],num);
            }
        }
        p = strtok(NULL, ";");
    }

    printf("%d,%d",pos.x,pos.y);
    return 0;
}

全部评论

相关推荐

那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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