寫在前面
弄了下個(gè)人站...防止內(nèi)容再次被鎖定...所有東西都在這里面
welcome~
個(gè)人博客
struct練手
構(gòu)造10個(gè)學(xué)生(要求有學(xué)生的姓名、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī)),按照學(xué)生英語(yǔ)和數(shù)學(xué)平均分的成績(jī)從小到大輸出學(xué)生的姓名、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī)及平均分
創(chuàng)建一個(gè)學(xué)生構(gòu)造體,包含 姓名 name 數(shù)學(xué)成績(jī) mathScore英語(yǔ)成績(jī) englishScore 平均分average 并在創(chuàng)建時(shí)求出平均分
struct Student{
var name:String
var mathScore:Int
var englishScore:Int
var average:Float
//MARK: - 初始化并求平均值
init(name:String,mathScore:Int,englishScore:Int) {
self.name = name
self.mathScore = mathScore
self.englishScore = englishScore
self.average = Float(self.mathScore + self.englishScore) / 2
}
}
排序我這里使用的是喜聞樂(lè)見(jiàn)的冒泡法
func sortWithAverage(students:[Student]) -> [Student] {
var result = students
for i in 0..<result> result[j].average) {
let tmp = result[i]
result[i] = result[j]
result[j] = tmp
}
}
}
return result
}
下面我們來(lái)構(gòu)造對(duì)象并輸出結(jié)果
//構(gòu)造10個(gè)學(xué)生對(duì)象
var student01 = Student(name: "st01", mathScore: 67, englishScore: 98)
var student02 = Student(name: "st02", mathScore: 87, englishScore: 56)
var student03 = Student(name: "st03", mathScore: 47, englishScore: 86)
var student04 = Student(name: "st04", mathScore: 65, englishScore: 88)
var student05 = Student(name: "st05", mathScore: 85, englishScore: 97)
var student06 = Student(name: "st06", mathScore: 85, englishScore: 94)
var student07 = Student(name: "st07", mathScore: 92, englishScore: 76)
var student08 = Student(name: "st08", mathScore: 93, englishScore: 66)
var student09 = Student(name: "st09", mathScore: 63, englishScore: 93)
var student10 = Student(name: "st10", mathScore: 99, englishScore: 82)
//調(diào)用排序方法
var result = sortWithAverage(students: [student01,
student02,
student03,
student04,
student05,
student06,
student07,
student08,
student09,
student10])
print("英語(yǔ)和數(shù)學(xué)平均分的成績(jī)從小到大排列為:")
//遍歷結(jié)果數(shù)組并打印
for i in 0..<result.count{
print("姓名:\(result[i].name),數(shù)學(xué)成績(jī):\(result[i].mathScore),英語(yǔ)成績(jī):\(result[i].englishScore),平均分:\(result[i].average)")
}
結(jié)果就出來(lái)了

struct.png