題目
先把作業(yè)的題目寫出來讓大家看看
1波桩、var string="my name is Tina" 將string按字母順序排序
2始腾、var bigArray=[4,6,1,3,2,5]進行排序,用三種方法
3恼五、寫一個九九乘法表
4径簿、編寫一個函數(shù)可以計算其參數(shù)的平均值
5、定義一個數(shù)組荷愕,寫一個函數(shù)衡怀,傳任意數(shù)組中的兩個元素,可以實現(xiàn)交換數(shù)組中的兩個元素
6安疗、將數(shù)組[“A”,”B”,”C”]轉換為字符串A:B:C
7、作業(yè)將課件翻譯成OC
8够委、將朋友圈的數(shù)據(jù)規(guī)范簡寫
7題暫時還沒寫完荐类,先不發(fā)出來了。
答案
第一題
import UIKit
//第一題: var string="my name is Tina" 將string按字母順序排序
var string = "my name is Tina"
//尾隨閉包排序茁帽,省略了參數(shù)及關鍵字玉罐,返回字符組成的數(shù)組
let stringArray = string.characters.sorted {$0 < $1}
var stringRange = ""
for character in stringArray
{
stringRange.append(character)
}
print(stringRange)//輸出:" Taaeiimmnnsy\n"
第二題
//第二題: var bigArray=[4,6,1,3,2,5]進行排序,用三種方法
var bigArray = [4,6,1,3,2,5]
//1潘拨、尾隨閉包排序
let bigArray1 = bigArray.sorted {$0 < $1}
print(bigArray1)//輸出:"[1, 2, 3, 4, 5, 6]\n"
//2吊输、嵌套循環(huán)
var bigArray0 = bigArray
var bigArray2 = [Int]()
while bigArray0.count >= 1
{
var i = bigArray0[0]
var a = 0
for (index,intI) in bigArray0.enumerated()
{
if i > intI
{
i = intI
a = index
}
}
bigArray2.append(i)
bigArray0.remove(at: a)
}
print(bigArray2)//輸出:"[1, 2, 3, 4, 5, 6]\n"
3、自定義算法排序
第三題
//第三題: 寫一個九九乘法表
var intX = 1
while intX <= 9
{
var intY = 1
while intY <= 9
{
print("\(intX)乘以\(intY)等于\(intX * intY)铁追。")
intY += 1
}
intX += 1
}
第四題
//第四題: 編寫一個函數(shù)可以計算其參數(shù)的平均值
//四舍五入保留 places 位小數(shù)
extension Double
{
func roundTo(places: Int) -> Double
{
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
}
func average(numbers: Int...) -> Double
{
var sum = 0, avr = 0.0
for number in numbers
{
sum += number
}
avr = Double(sum) / Double(numbers.count)
let avr2 = avr.roundTo(places: 2)
return avr2
}
let avr = average(numbers: 2,5,11,7,9,17,19,27)//avr = 12.13
第五題
//第五題: 定義一個數(shù)組季蚂,寫一個函數(shù),傳任意數(shù)組中的兩個元素琅束,可以實現(xiàn)交換數(shù)組中的兩個元素
let arrayAny = [1, 2, "hello", 4, 5] as [Any]
var arrayAny1 = arrayAny
//使用系統(tǒng)的函數(shù)
swap(&arrayAny1[1], &arrayAny1[2])
print(arrayAny1)//輸出:"[1, "heoll", 2, 4, 5]\n"
//自定義函數(shù)扭屁,將參數(shù)定義為泛型,可以實現(xiàn)任意兩個元素交換
//參數(shù)名前加下劃線調用時可省略該參數(shù)名涩禀,使用 inout 代表參數(shù)可以被修改
func swap2<T>(_ a: inout T, _ b: inout T)
{
(a, b) = (b, a)//使用元組來調換兩個參數(shù)值
}
var arrayAny2 = arrayAny
//在調用加了關鍵字 inout 修飾的參數(shù)時料滥,需加取地址 & 符號,以表示該參數(shù)允許被修改
swap2(&arrayAny2[1], &arrayAny2[2])
print(arrayAny2)//輸出:"[1, "heoll", 2, 4, 5]\n"
第六題
//第六題:將數(shù)組[“A”,”B”,”C”]轉換為字符串A:B:C
let arrayString = ["A", "B", "C"]
var stringABC = ""
var i = 1
for string in arrayString
{
stringABC.append(string)
if i < arrayString.count
{
i += 1
stringABC += ":"
}
}
print(stringABC)//輸出:"A:B:C\n"