题解 | #坐标移动#

坐标移动

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

#include <stdio.h>
#include <string.h>
int main() {
    char op[10000];
    int x = 0, y = 0, len, i, j, num = 0;

    scanf("%s", op);
    len = strlen(op);
    for (i = 0; i < len; i++) {
        j = i + 1;
        num = 0;
        if (op[i] == 'A' || op[i] == 'W' || op[i] == 'D' || op[i] == 'S') {
            while (op[j] != ';') {
                if (op[j] >= '0' && op[j] <= '9') {
                    num = num * 10 + (op[j] - '0');
                    j++;
                } else {
                    break;
                }
                if (op[j] == ';') {
                    if (i < 3) {
                        switch (op[i]) {
                            case 'A':
                                x = x - num;
                                break;
                            case 'D':
                                x = x + num;
                                break;
                            case 'W':
                                y = y + num;
                                break;
                            case 'S':
                                y = y - num;
                                break;
                        }
                    }
                    if (i > 3) {
                        if (op[i - 1] == ';') {
                            switch (op[i]) {
                                case 'A':
                                    x = x - num;
                                    break;
                                case 'D':
                                    x = x + num;
                                    break;
                                case 'W':
                                    y = y + num;
                                    break;
                                case 'S':
                                    y = y - num;
                                    break;
                            }
                        }
                    }
                }
            }
        }
    }

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

全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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