1攀涵、編寫一個程序掷空,要求可以把一個字符串中的每一個字符肋殴,如果是大
寫字母變小寫字母囤锉,如果是小寫字母變大寫,如果是其他字符不變
例如: 字符串China23beiJing 經過程序轉換為cHINA23BEIjING
/*
函數(shù)护锤,將大寫字母變小寫嚼锄,小寫字母變大寫,其他字符不變
*/
func changeCharacter(chNum:Character) -> Character {
? ? /*
? ? 將字符轉換為整數(shù)
? ? */
? ? var chStr = String(chNum)? // 將字符轉為字符串
? ? var num:UInt32 = 0? ? // 用于接收字符整數(shù)值的變量
? ? for item in chStr.unicodeScalars {
? ? ? ? num = item.value? // 循環(huán)只執(zhí)行一次蔽豺,獲取字符的整數(shù)值
? ? }
? ? /*
? ? 如果是大小寫字母,轉換數(shù)值
? ? */
? ? // 如果是大寫字母拧粪,轉換為小寫
? ? if num >= 65 && num <= 90 {
? ? ? ? num += 32
? ? }
? ? // 如果是小寫字母修陡,轉換為大寫
? ? else if num >= 97 && num <= 122 {
? ? ? ? num -= 32
? ? }
? ? /*
? ? 將整數(shù)轉換為字符
? ? */
? ? var newChNum = Character(UnicodeScalar(num)!)
? ? return newChNum
}
/*
函數(shù)調用改變字符串
*/
var string = "china#488BeiJIng"? // 測試的字符串
print(string)
var i = 0? // 表示偏移量(循環(huán)變量初始值)
while i < string.characters.count {? // 循環(huán)條件,包含循環(huán)變量的終止值
? ? var ch = string[string.index(string.startIndex, offsetBy: i)]
? ? string.replaceSubrange(string.index(string.startIndex, offsetBy:
i)...string.index(string.startIndex, offsetBy: i),
with: String(changeCharacter(chNum: ch)))
? ? i += 1? // 循環(huán)變量值變化
}
print(string)
2可霎、編寫一個程序魄鸦,要求接收一個數(shù)字,程序會將這個數(shù)字以二進制方
式打印癣朗,例如:數(shù)字10 拾因, 以1010的方式打印出來
? ? /*
將一個整數(shù)用二進制方式打印
*/
func binaryPrintIntNumber(num:Int) {
? ? var remainderArr:[Int] = []? // int數(shù)組,存儲余數(shù)
? ? var quotient:Int = num? // 表示商的變量旷余,初始值是num
? ? while quotient > 0 {? // 商的終值是0
? ? ? ? let remainderNum = quotient % 2 // 獲取余數(shù)值
? ? ? ? remainderArr.insert(remainderNum, at: 0) // 插入數(shù)組中
? ? ? ? quotient /= 2? // 商變化
? ? }
? ? for item in remainderArr {
? ? ? ? print(item, terminator: "")
? ? }
? ? print("")
}
3绢记、編寫一個程序,判斷101-200之間有多少個素數(shù)正卧,并輸出所有素數(shù)
var num=0? // 記錄素數(shù)個數(shù)的變量
var isPrimeNum = true? // 判斷是否是素數(shù)的標記蠢熄,是就是true,不是為false
for? m in 101…200 {
for? i? in? 2..