//应用题(一)(20分)
//编写Swift函数,能交换两个变量的数值
//例如: 变量a值为20,变量b值为30,调用函数后,a的值变为30,b
//的值变为20
func swap(a: inout Int , b:inout Int){
//交换数值
let temp = a
a = b
b = temp
}
var x = 20 , y = 30
swap(a:&x , b:&y)
//打印结果
print(x,y)
//应用题(二)(30分)
//编写一个函数,求1! + 2! + 3! + 4!的和
//提示:定义两个函数:<1>求整数阶乘结果的函数,<2>求等差数列阶乘相加的函数,使用嵌套调用函数实现
func getSum(number: Int) -> Int {
//求某个数阶乘的结果
func getFactorIal(num: Int) -> Int {
var sum = 1
for _ in 1…num {
sum += 1
}
return sum
}
var total = 0
for item in 1…number {
total += getFactorIal(num: item)
}
return total
}
print(getSum(number: 16))
//应用题(三)(20分)
//编写函数,实现对一个Int数组冒泡排序
func Han(){
var array: [Int] = [2,5,3,1,4,8,10,7,6,9]
for i in 0…<array.count {
for j in 0…
<array.count - (i+1) {
if array[j] > array[j+1] {
let temp = array[j]
array[j] = array[j+1]
array[j+1] = temp
}
}
}
for i in 0..<array.count {
print(array[i])
}
}
Han()
//应用题(四)(20分)
//编写函数,实现对一个Int数组选择排序
//选择排序-升序
func minMax(array: inout [Int]) {
for i in (0..<array.count){
var k = i
for j in (k+1..<array.count){
if(array[k] > array[j]){
k = j
}
}
if(k != i){
let temp = array[k]
array[k] = array[i]
array[i] = temp
}
}
print(array)
}
var array = [8, -6, 2, 109, 3, 71]
minMax(array: &array)