Swift练习题——变量&常量&基础操作符

Swift练习题——变量&常量&基础操作符

Swift这门语言不必过多介绍了,在Swift练习题系列的章节中,我们将会通过一些练习题,进一步拓展编程思维,加深对所学概念的掌握。

本次我们带来了2到Swift的练习题,所要用到的知识点主要是:

  • 变量
  • 常量
  • 基础操作符

实战演练

第一题:

若有一个8*8的矩阵,从左到右依次填入0~63的数字,矩阵从0行0列开始,现给出变量position等于0~63中任意一个数,求出position所对应的行,列。把行,列的值存在变量row和变量column中。

样例

输入:position = 54
row = 6
column = 6
复制代码

第二题:

给出平面直角坐标系中的两个点的坐标,求两点之间的距离。第一个点用常量point1表示,第二个点用常量point2表示,注意:坐标的横纵坐标信息要存在一个常量中最后将2点间的距离存在常量distance中。

样例

输入:point1(2,3)
输入:point2(8,11)
distance = 10
复制代码

题解

第一题: 对于矩阵的题目,可以在纸上画一画:

行: 0 01 02 03 04 05 06 07
列
:
0   00 01 02 03 04 05 06 07 
1   08 09 10 11 12 13 14 15 
2   16 17 18 19 20 21 22 23 
3   24 25 26 27 28 29 30 31 
4   32 33 34 35 36 37 38 39 
5   40 41 42 43 44 45 46 47 
6   48 49 50 51 52 53 54 55 
7   56 57 58 59 60 61 62 63 
复制代码

从给的样例54,不难看出54在第6行第6列。题目说明这是一个矩阵,必定每个数字的行、列和矩阵的行列数有关。我们不难发现54的行数是54 / 8的结果;54的列数是54 % 8的值。规律发现了,代码自然不难了。代码如下:

let position = 54
let row = position / 8
let column = position % 8
print("\(position)在矩阵的\(row)行,\(column)列") //输出:54在矩阵的6行,6列 
复制代码

第二题: 然而题目要求把一个点的横纵错标存在一个常量中,我们不妨用元组来解决这个问题。代码如下:

let point1 = (x: 2, y: 3)
let point2 = (x: 8, y: 11)
let distance = Double((point1.x-point2.x) * (point1.x-point2.x) + (point1.y - point2.y) * (point1.y - point2.y)).squareRoot()

复制代码

注意:squareRoot()只能针对Double类型的数据求算术平方根,此处要进行类型转换。


总结

本次内容主要运用了变量和常量与基本操作符的知识点来解题,内容十分简单。这里留下一道思考题:

若有一个n*n的矩阵,从左到右依次填入1~n^2的数字,矩阵从1行1列开始,现给出变量position等于1~n^2中任意一个数,求出position所对应的行,列。把行,列的值存在变量row和变量column中。

转载于:https://juejin.im/post/5a45f978518825390e348255

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值