Swift 基础
1、编写一个程序,要求可以把一个字符串中的每一个字符,如果是大
写字母变小写字母,如果是小写字母变大写,如果是其他字符不变
例如: 字符串China23beiJing 经过程序转换为cHINA23BEIjING
/*
函数,将大写字母变小写,小写字母变大写,其他字符不变
*/
func changeCharacter(chNum:Character) -> Character {
/*
将字符转换为整数
*/
var chStr = String(chNum) // 将字符转为字符串
var num:UInt32 = 0 // 用于接收字符整数值的变量
for item in chStr.unicodeScalars {
num = item.value // 循环只执行一次,获取字符的整数值
}
/*
如果是大小写字母,转换数值
*/
// 如果是大写字母,转换为小写
if num >= 65 && num <= 90 {
num += 32
}
// 如果是小写字母,转换为大写
else if num >= 97 && num <= 122 {
num -= 32
}
/*
将整数转换为字符
*/
var newChNum = Character(UnicodeScalar(num)!)
return newChNum
}
/*
函数调用改变字符串
*/
var string = "china#488BeiJIng" // 测试的字符串
print(string)
var i = 0 // 表示偏移量(循环变量初始值)
while i < string.characters.count { // 循环条件,包含循环变量的终止值
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 // 循环变量值变化
}
print(string)
2、编写一个程序,要求接收一个数字,程序会将这个数字以二进制方
式打印,例如:数字10 , 以1010的方式打印出来
/*
将一个整数用二进制方式打印
*/
func binaryPrintIntNumber(num:Int) {
var remainderArr:[Int] = [] // int数组,存储余数
var quotient:Int = num // 表示商的变量,初始值是num
while quotient > 0 { // 商的终值是0
let remainderNum = quotient % 2 // 获取余数值
remainderArr.insert(remainderNum, at: 0) // 插入数组中
quotient /= 2 // 商变化
}
for item in remainderArr {
print(item, terminator: "")
}
print("")
}
3、编写一个程序,判断101-200之间有多少个素数,并输出所有素数
var num=0 // 记录素数个数的变量
var isPrimeNum = true // 判断是否是素数的标记,是就是true,不是为false
for m in 101…200 {
for i in 2..