Swift基础习题练习

1.编写一个程序,要求可以把一个字符串中的每一个字符,如果是大写字母变小写字母,如果是小写字母变大写,如果是其他字符不变!

例如: 字符串AaBsS4563SSd 经过程序转换为 "aAbSs4563ssD"

// 字符 大写转小写,小写转大写
func changeCharacter(singCha:Character)->Character{
    
    // 将字符转化为字符串
    let singSring  = String(singCha)
    
    // 用于接收字符串整数值的变量
    var num:UInt32 = 0
    
    for item in singSring.unicodeScalars{
        num = item.value // 循环只执行一次,获取字符的整数值
    }
    // 如果是大写字符,转换小写
    if num >= 65 && num <= 90 {
        num += 32
    }else if num >= 97 && num <= 122{ // 如果是小写字符,转化大写
        num -= 32
    }
    return Character(UnicodeScalar(num)!)
}
changeCharacter(singCha: "a") // "A"
changeCharacter(singCha: "B") // "b"
changeCharacter(singCha: "1") // "1"



// 字符串大写转小写,小写转大写
func changeStringLU(src:String) -> String {
    var relStr = ""
    for item in 0..
2.编写一个程序,要求接收一个数字,程序会将这个数字以二进制方式打印,例如:数字10 , 以1010的方式打印出来
func intTo2Int(mInt:Int) -> String {
    return String(mInt,radix: 2)
}

intTo2Int(mInt: 10)  // "1010"
intTo2Int(mInt: -10) // "-10101"
3.编写一个程序,判断101-200之间有多少个素数,并输出所有素数。
// 判断一个数是否是素数
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

// 输出一定范围内的素数
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四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
func getThreeNum(numArray:Array)->Array{
    var relArray = Array()
    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.编写一个程序,能交换两个变量的数值

例如: 变量a值为20,变量b值为30,调用函数后,a的值变为30,b的值变为20

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

numerChange(numOne: 20,numTwo: 30)
// 30 20

你可能感兴趣的:(Swift基础习题练习)