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中。