华为机试坐标点

坐标移动

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

include

include

using namespace std;
struct p{
int x;
int y;
}point;
bool is_true(string sub )
{

if(sub[0]=='A'||sub[0]=='S'||sub[0]=='W'||sub[0]=='D')
{
for(int i=1;i<sub.length();i++)
{
   if(sub[i]>='0'&&sub[i]<='9')
        continue;
    else 
        return false;
}
    return true;
    }
else{
    return false;
}

}
p in_point(string sub)
{

int shuzi=0;
for(int i=1;i<sub.length();i++)
{
    shuzi=shuzi*10+sub[i]-'0';
 }
p a;
if(sub[0]=='A')
{
    a.x=-1*shuzi;
    a.y=0;
}else if(sub[0]=='S')
{
    a.x=0;
    a.y=-1*shuzi;
}else if(sub[0]=='W')
{
    a.x=0;
    a.y=shuzi;
}else if(sub[0]=='D')
{
    a.x=shuzi;
    a.y=0;
}
return a;

}
int main(){
string str;
while(getline(cin, str)){
p out_a;
out_a.x=0;
out_a.y=0;
string sub="";
for(int i=0;i<str.length();i++)
{
if(str[i]!=';')
{
sub+=str[i];
}
else{
if(is_true(sub))
{
p a=in_point(sub);
out_a.x+=a.x;
out_a.y+=a.y;
}
sub="";
}
}

cout<<out_a.x<<","<<out_a.y<<endl;
    }
return 0;

}

全部评论

相关推荐

点赞 评论 收藏
分享
抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务