题解 | #坐标移动#

坐标移动

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

#include <stdio.h>
#include <string.h>
int x;
int y;
void isvaild(char *s,int start,int end)
{
    int len=end-start;
    if(len!=3)
    {
        if(len!=2) return ;
    }
    if(s[start]=='A')
    {
        int sum=0;
        for(int i=start+1;i<end;i++)
        {
            if(s[i]-'0'<0||s[i]-'0'>9) return ;
            sum=sum*10+s[i]-'0';
        }
        x=x-sum;
    }
    if(s[start]=='S')
    {
        int sum=0;
        for(int i=start+1;i<end;i++)
        {
            if(s[i]-'0'<0||s[i]-'0'>9) return ;
            sum=sum*10+s[i]-'0';
        }
        y=y-sum;
    }
    if(s[start]=='D')
    {
        int sum=0;
        for(int i=start+1;i<end;i++)
        {
            if(s[i]-'0'<0||s[i]-'0'>9) return ;
            sum=sum*10+s[i]-'0';
        }
        x=x+sum;
    }
    if(s[start]=='W')
    {
        int sum=0;
        for(int i=start+1;i<end;i++)
        {
            if(s[i]-'0'<0||s[i]-'0'>9) return ;
            sum=sum*10+s[i]-'0';
        }
        y=y+sum;
    }

}
int main() {
    char str[10000];
    x=0;
    y=0;
    gets(str);
    int len=strlen(str);
    int pre=0;
    for(int i=0;i<len;i++)
    {
        if(str[i]==';')
        {
            isvaild( str,  pre, i);
            pre=i+1;
        }
    }
    printf("%d,%d",x,y);
    return 0;
}

全部评论

相关推荐

10-09 16:12
门头沟学院 Java
帅宇殿下:佬,简历写的什么
点赞 评论 收藏
分享
09-28 22:01
已编辑
广西科技大学 IT技术支持
合适才能收到offe...:找桌面运维?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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