题解 | #汽水瓶#

坐标移动

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

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

void stringStrip(char val, char **sourceStr, char *destStr) {

int i = 0;
for(i = 0; *(*sourceStr+i) != val; i++){
    destStr[i] = *(*sourceStr+i);
}
*sourceStr = *sourceStr + i + 1 ;

}

int main(void) {

char buf[10000] = {0};
char destSrt[10] = {0};
char *leaveStr = NULL;
int shiWei = 0;
int geWei = 0;
int left = 0;
int right = 0;
int up = 0;
int down = 0;
int i = 0;
scanf("%s", buf);
leaveStr = buf;
while(1){
    if(leaveStr[0] == '\0'){
        break;
    }
    memset(destSrt,'\0', 10);
    stringStrip(';', &leaveStr, destSrt);
    
//         printf("%s\n", leaveStr);

    if(strlen(destSrt)>3){
        continue;
    }
    if(destSrt[0] != 'A' && destSrt[0] != 'S' && destSrt[0] != 'W' && destSrt[0] != 'D'){
        continue;
    }
    if(strlen(destSrt) == 3){
        shiWei = destSrt[1] - '0';
        geWei = destSrt[2] - '0';
    } else if(strlen(destSrt) == 2){
        shiWei = 0;
        geWei = destSrt[1] - '0';
    }

    if(shiWei > 9 || shiWei < 0 || geWei > 9 || geWei < 0){
        continue;
    }
    if(destSrt[0] == 'A'){
        left += shiWei * 10 + geWei;
    } else if(destSrt[0] == 'S'){
        down += shiWei * 10 + geWei;
    } else if(destSrt[0] == 'W'){
        up += shiWei * 10 + geWei;
    } else if(destSrt[0] == 'D'){
        right += shiWei * 10 + geWei;
    } else {
        continue;
    }
//         printf("%d %d\n", right - left, up - down);

}
printf("%d,%d", right - left, up - down);
return 0;

}

全部评论

相关推荐

03-19 09:58
河海大学 Java
最喜欢春天的奇亚籽很...:同学,是小红书不是小哄书,一眼就能看到的错误
投了多少份简历才上岸
点赞 评论 收藏
分享
牛客62533758...:华为不卡双非,而是卡院校hhhh
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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