Swift基礎(chǔ)習(xí)題練習(xí)

1.編寫一個程序,要求可以把一個字符串中的每一個字符苦始,如果是大寫字母變小寫字母,如果是小寫字母變大寫,如果是其他字符不變!

例如: 字符串AaBsS4563SSd 經(jīng)過程序轉(zhuǎn)換為 "aAbSs4563ssD"

// 字符 大寫轉(zhuǎn)小寫待侵,小寫轉(zhuǎn)大寫
func changeCharacter(singCha:Character)->Character{
    
    // 將字符轉(zhuǎn)化為字符串
    let singSring  = String(singCha)
    
    // 用于接收字符串整數(shù)值的變量
    var num:UInt32 = 0
    
    for item in singSring.unicodeScalars{
        num = item.value // 循環(huán)只執(zhí)行一次,獲取字符的整數(shù)值
    }
    // 如果是大寫字符姨裸,轉(zhuǎn)換小寫
    if num >= 65 && num <= 90 {
        num += 32
    }else if num >= 97 && num <= 122{ // 如果是小寫字符秧倾,轉(zhuǎn)化大寫
        num -= 32
    }
    return Character(UnicodeScalar(num)!)
}
changeCharacter(singCha: "a") // "A"
changeCharacter(singCha: "B") // "b"
changeCharacter(singCha: "1") // "1"



// 字符串大寫轉(zhuǎn)小寫,小寫轉(zhuǎn)大寫
func changeStringLU(src:String) -> String {
    var relStr = ""
    for item in 0..<src.count{
        relStr += String(changeCharacter(singCha: src[src.index(src.startIndex,offsetBy: item)]))
    }
    return relStr
}
changeStringLU(src:"AaBsS4563SSd") // "aAbSs4563ssD"

2.編寫一個程序傀缩,要求接收一個數(shù)字那先,程序會將這個數(shù)字以二進(jìn)制方式打印,例如:數(shù)字10 赡艰, 以1010的方式打印出來
func intTo2Int(mInt:Int) -> String {
    return String(mInt,radix: 2)
}

intTo2Int(mInt: 10)  // "1010"
intTo2Int(mInt: -10) // "-10101"
3.編寫一個程序售淡,判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)慷垮。
// 判斷一個數(shù)是否是素數(shù)
func isPrime(mInt:Int)->Bool {
    if mInt < 3 {
        return mInt > 1
    }
    let mSqrt = Int(sqrt(Double(mInt)))+1
    for index in 2...mSqrt{
        if mInt % index  == 0 {
            return false
        }
    }
    return true
}
isPrime(mInt:1) // false
isPrime(mInt:2) // true
isPrime(mInt:3) // true
isPrime(mInt:4) // false

// 輸出一定范圍內(nèi)的素數(shù)
func getPrime(startInt:Int,endInt:Int)->[Int] {
    let mMin = min(startInt,endInt)
    let mMax = max(startInt,endInt)
    var relArray = [Int]()
    for index in mMin...mMax{
        if isPrime(mInt: index){
            relArray.append(index)
        }
    }
    print(relArray)
    return relArray
}
getPrime(startInt: 0, endInt:100)
// [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

getPrime(startInt: 100, endInt:0)
// [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

getPrime(startInt: 101, endInt:200)
// [101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

4.編寫一個程序揖闸,查看1、2料身、3汤纸、4四個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)芹血?都是多少贮泞?
func getThreeNum(numArray:Array<Int>)->Array<Int>{
    var relArray = Array<Int>()
    for hund in numArray {
        for mTen in numArray {
            for num in numArray {
                if hund != mTen && hund != num && mTen != num {
                    relArray.append(hund*100+mTen*10+num)
                }
            }
        }
    }
    print(relArray)
    return relArray
}
getThreeNum(numArray:[1,2,3,4])
// [123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
5.編寫一個程序楞慈,能交換兩個變量的數(shù)值

例如: 變量a值為20,變量b值為30啃擦,調(diào)用函數(shù)后抖部,a的值變?yōu)?0,b的值變?yōu)?0

func numerChange(numOne:Int,numTwo:Int){
    let (numOne,numTwo) = (numTwo,numOne)
    print(numOne,numTwo)
}

numerChange(numOne: 20,numTwo: 30)
// 30 20
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末议惰,一起剝皮案震驚了整個濱河市梅猿,隨后出現(xiàn)的幾起案子膜眠,更是在濱河造成了極大的恐慌疮胖,老刑警劉巖凉袱,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異运杭,居然都是意外死亡夫啊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門辆憔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撇眯,“玉大人,你說我怎么就攤上這事虱咧⌒荛唬” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵腕巡,是天一觀的道長玄坦。 經(jīng)常有香客問我,道長绘沉,這世上最難降的妖魔是什么煎楣? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮车伞,結(jié)果婚禮上择懂,老公的妹妹穿的比我還像新娘。我一直安慰自己另玖,他們只是感情好困曙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著日矫,像睡著了一般赂弓。 火紅的嫁衣襯著肌膚如雪绑榴。 梳的紋絲不亂的頭發(fā)上哪轿,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音翔怎,去河邊找鬼窃诉。 笑死杨耙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的飘痛。 我是一名探鬼主播珊膜,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宣脉!你這毒婦竟也來了车柠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤塑猖,失蹤者是張志新(化名)和其女友劉穎竹祷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羊苟,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塑陵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜡励。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片令花。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凉倚,靈堂內(nèi)的尸體忽然破棺而出兼都,到底是詐尸還是另有隱情,我是刑警寧澤稽寒,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布俯抖,位于F島的核電站,受9級特大地震影響瓦胎,放射性物質(zhì)發(fā)生泄漏芬萍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一搔啊、第九天 我趴在偏房一處隱蔽的房頂上張望柬祠。 院中可真熱鬧,春花似錦负芋、人聲如沸漫蛔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莽龟。三九已至,卻和暖如春锨天,著一層夾襖步出監(jiān)牢的瞬間毯盈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工病袄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搂赋,地道東北人赘阀。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像脑奠,于是被迫代替她去往敵國和親基公。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353