• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 【每日一题】旋转罗盘 - 2022.5.4 [复制链接]

1#
题目描述

假设我们有一个拥有8个方位的罗盘(N, NE, E, SE, S, SW, W, NW),
再给定一个需要转动的角度(45度的倍数), 顺时针转为正,逆时针转为负,
请编写一个函数,求出转动后的角度。转动角度可以是正数,也可以是负数。

【示例】
输入:“S”, 180
输出:“N”
解释:S 表示正南,旋转180度后,就会指向正北,即 N

题目难度:简单
题目来源:CodeWars-Turn with a Compass
题目交流: 584781753
  1. Import "SmAssert.dll"

  2. Function 旋转罗盘(方向)
  3.     // 您的代码写在这里
  4. End Function


  5. SmAssert 旋转罗盘("S", 180) = "N"
  6. SmAssert 旋转罗盘("SE", -45) = "E"
  7. SmAssert 旋转罗盘("W", 495) = "NE"
复制代码

参考题解

  1. Import "SmAssert.dll"

  2. Function 旋转罗盘(方向, 角度)
  3.     
  4.     '【作者】:神梦无痕
  5.     '【QQ】:1042207232
  6.     '【Q群】:584781753
  7.     
  8.     Dim 方向列表, 次数, 方向索引
  9.     Dim 返回索引, 返回方向
  10.     Dim i
  11.     
  12.     方向列表 = Array("N", "NE", "E", "SE", "S", "SW", "W", "NW")
  13.     次数 = 角度 / 45
  14.     方向索引 = -1
  15.     For i = 0 To UBound(方向列表)
  16.         If 方向列表(i) = 方向 Then
  17.             方向索引 = i
  18.             Exit For
  19.         End If
  20.     Next
  21.     If 方向索引 > -1 Then
  22.         返回索引 = (方向索引 + 次数) Mod 8
  23.         返回方向 = 方向列表(返回索引)
  24.         旋转罗盘 = 返回方向
  25.     End If
  26. End Function


  27. SmAssert 旋转罗盘("S", 180) = "N"
  28. SmAssert 旋转罗盘("SE", -45) = "E"
  29. SmAssert 旋转罗盘("W", 495) = "NE"
复制代码





插件下载

 
【插件】神梦断言插件 SmAssert.dll,帮助开发者发现业务逻辑错误

最后编辑神梦科技 最后编辑于 2022-05-05 18:18:57
2#

11111111111

3#

学习一下77

4#

好题

5#

nnnnnnnn

6#

123456789

7#

学习一下

发新话题 回复该主题