swift简单模拟

版权声明:iOS技术小牛 https://blog.csdn.net/weixin_42925415/article/details/83718551
//模拟题
//1、    创建一个函数,有单个参数无返回值,函数中实现把传入的参数转换成二进制(即十进制转换成二进制)
//2、    创建一个函数,有单个参数无返回值,函数中实现二进制转换成十进制功能
//3、    创建一个函数,无参数无返回值,实现把3,4,5,6四个数字组成无重复的3位数字,并打印出来
//4、    创建一个函数,无参数无返回值,实现查找301~500中个位、十位、百位都不相同的三位数,并打印出来
//5、    创建一个函数,无参数无返回值,实现把数组[“a”,“b”,“c”,“d”]
//进行遍历(使用元祖形式),打印下标和对应的字符;在数组后面添加两个元素[“e”,“f”]并打印数组,在下标为3处插入元素“h”并打印数组,删除数组的第一个元素并打印数组
func name5()  {
    for a in 301...500 {
        if(a % 2 == 0 ){
            
        }
    }
}
func name4()  {
    var ziMu = ["a","b","c","d"]
    for (index,value) in ziMu.enumerated() {
        
        
        
        print(index,value)
        
    }
    ziMu.append("e")
    ziMu.append("f")
    print(ziMu)
    ziMu.insert("h", at: 3)
    print(ziMu)
}
print("name4")
print(name4())
func name2() {
//    int i,j,k;
    for i in 3...6 {
        for j in 3...6{
            for k in 3...6{
//                    if(i!=j && i!=k && j!=k)
                    //        cout<<i<<j<<k<<endl;
                if (i != j){
                    if(i != k){
                        if(j != k){
                            
                            
                            print("\(i)\(j)\(k)")
                            
                            
                        }
                    }
                    
                }
            
            }
        }
    }
    
}
print( "name2" )
print(name2())

func name3()  {
    for a in 301...500 {
        
        var geWei=a%10//分离出个位
        var shiWei=(a/10)%10//分离出十位
        var baiWei=(a/100)%10//分离出百位
        if(geWei != shiWei)
        {
            if (geWei != baiWei)
            {
                if(geWei != baiWei){
                    print("\(baiWei)\(shiWei)\(geWei)")
                    
                }
            }
        }
    }
    
        
    
    }
print( "name3" )
print(name3())


//二进制转换成十进制功能
func name1(num:String)  {
    var sum: Int = 0
    for c in num.characters {
        let str = String(c)
        sum = sum * 2 + Int(str)!
    }
    print(sum)
}

print(name1(num: "111"))


//(即十进制转换成二进制)
func name (number : Int){
    var num = number
    var str = ""
    while num > 0 {
        str = "\(num % 2)" + str
        num /= 2
    }
    print(str)
}
print(name(number: 10))



import Foundation
//创建一个函数,有单个参数无返回值,函数中实现把传入的参数转换成二进制(即十进制转换成二进制)
func nnb (age : Int){
    var num = age
    var str = ""
    while num > 0 {
        str = "\(num % 2)" + str
        num /= 2
    }
    print(str)
    
}
nnb(age: 9)
//创建一个函数,有单个参数无返回值,函数中实现二进制转换成十进制功能
func binary2dec(num:String){
    var sum = 0
    for c in num {
        sum = sum * 2 + Int("\(c)")!
    }
    print(sum)
}
binary2dec(num: "15")
//创建一个函数,无参数无返回值,实现把3,4,5,6四个数字组成互不相同无重复的3位数字,并打印出来
var one = Int(arc4random_uniform(6)+3)
var two = Int(arc4random_uniform(6)+3)
var three = Int(arc4random_uniform(6)+3)

while (one == two)||(one == three)||(two == three){
    one = Int(arc4random_uniform(6)+3)
    two = Int(arc4random_uniform(6)+3)
    three = Int(arc4random_uniform(6)+3)
}
print("三个随机数:\(one)\(two)\(three)")
//创建一个函数,无参数无返回值,判断301~500中有多少个偶数,多少个奇数,并且输出偶数和奇数的个数,把所有的奇数和偶数分别打印出来
func zeiniu(){
    var oushu:(Int) = 0
    var jishu:(Int) = 0
    
    
    for s in 301...500 {
        if (s%2 == 0){
            oushu += 1
            print("偶数\(s)")
        }else{
            jishu += 1
            print("奇数\(s)")
        }
    }
    print("偶数的个数为:\(oushu) , 奇数的个数为:\(jishu)")
    
}
zeiniu()
/*
 创建一个数组Arr,数组成员[“a”,“b”,“c”,“d”,“e”,“f”,“g”]创建一另个数组Brr,数组成员[“b”,“d”,“f”,“g”],求出数组Brr中成员在数组Arr中的下标,把下标组成一个新的数组,并把新数组打印出来
 */
var Arr = ["a" , "b" , "c" , "d" , "e" , "f" , "g" ,]
var Brr = ["b" , "d" , "f" , "g" ,]
var gongtong = [Int]()
//print("Arr个数为:\(Arr.count)  Brr个数为:\(Brr.count)")
for  i in 0..<Arr.count{
    for  j in 0..<Brr.count{
//        print(Arr[i],Brr[j])
        if Arr[i]==Brr[j]{
            gongtong.append(i)
        }
    }
}
print(gongtong)

猜你喜欢

转载自blog.csdn.net/weixin_42925415/article/details/83718551