蓝桥杯 移动

小蓝有一个机器人,初始时在坐标 (0, 0)(0,0)。

小蓝可以给机器人发送指令,指令如下:

指令 UU,如果当前机器人在 (x, y)(x,y),执行后机器人在 (x-1, y)(x−1,y);

指令 DD,如果当前机器人在 (x, y)(x,y),执行后机器人在 (x+1, y)(x+1,y);   

指令 LL,如果当前机器人在 (x, y)(x,y),执行后机器人在 (x, y-1)(x,y−1);

指令 RR,如果当前机器人在 (x, y)(x,y),执行后机器人在 (x, y+1)(x,y+1)。

给定指令序列,请问指令全部执行后,机器人在哪个位置?

输入格式
输入一行包含一个字符串,表示指令序列,字符串中只包含 U, D, L, RU,D,L,R 四种字符。

输出格式
输出一行包含两个整数,相邻的整数之间使用一个空格分隔,分别表示机器人的两个坐标值。

样例输入
DDDRRLR

样例输出
3 2

#include <stdio.h>
#include<string.h>
int main()
{
  int x=0,y=0,i;
  char n[100];
  scanf("%s",n);
  for(i=0;i<strlen(n);i++){
    if(n[i]=='U')
     x--;
    if(n[i]=='D')
     x++;
    if(n[i]=='L')
      y--;
    if(n[i]=='R')
      y++;
  }
  printf("%d %d",x,y);
}
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  //写一个可以实时变化的游戏性位置移动算法
  int x=0,y=0;//初始化位置参数x,y
  for(char i=0;(i=getchar())!='\n';)//实时输入操作指令对应变化位置,当敲回车时结束循环
  {
    if(i == 'U'){x=x-1;}
    if(i == 'D'){x=x+1;}
    if(i == 'L'){y=y-1;}
    if(i == 'R'){y=y+1;}
  }
  printf("%d %d",x,y);//输出位置参数
}
#include <stdio.h>
int main()
{
  // 请在此输入您的代码
  int x,y,i;
  i=x=y=0;
  char str[1000];
  gets(str);
  while(str[i])
  {
    switch(str[i++])
    {
      case 'U': x=x-1;break;
      case 'D': x=x+1;break;
      case 'L': y=y-1;break;
      case 'R': y=y+1;break;
    }
  }
  printf("%d %d",x,y);
  return 0;
}
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // 请在此输入您的代码
  int x=0,y=0,i;
  char k[1000];
  scanf("%s",k);
  for(i=0;i<=strlen(k);i++){
    if(k[i]=='U')x--;
    else if(k[i]=='D')x++;
    else if(k[i]=='L')y--;
    else if(k[i]=='R')y++;
  }
  printf("%d %d",x,y);
  return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值