Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用swift创建乘法表_Swift_For Loop - Fatal编程技术网

用swift创建乘法表

用swift创建乘法表,swift,for-loop,Swift,For Loop,我是这里的初学者。我在一个问题上陷入困境已有一段时间了。在操场上练习,我需要做一个乘法表。 基本上,如果我输入3,我希望表格能够读取 1 2 3 2 4 6 3 6 9 不过,我对此感到困惑。需要帮忙吗 迄今为止的代码 var x = 3 var width = 1 for x in 1...x { for width in 1...width { print(x, width*2) } } 此代码打印 1 2 2 2 3 2 你可以这样做 func mu

我是这里的初学者。我在一个问题上陷入困境已有一段时间了。在操场上练习,我需要做一个乘法表。 基本上,如果我输入3,我希望表格能够读取

1 2 3
2 4 6
3 6 9
不过,我对此感到困惑。需要帮忙吗

迄今为止的代码

var x = 3
var width = 1

for x in 1...x {
    for width in 1...width {
        print(x, width*2)
    }
}
此代码打印

1 2
2 2
3 2

你可以这样做

func multiplicationTable(till limit: Int) {
    for i in 1...limit {
        for j in 1...limit {
            print(i * j, terminator: "\t")
        }
        print("")
    }
}

multiplcationTable(till: 5)
输出


你可以这样做

func multiplicationTable(till limit: Int) {
    for i in 1...limit {
        for j in 1...limit {
            print(i * j, terminator: "\t")
        }
        print("")
    }
}

multiplcationTable(till: 5)
输出


您可以将乘法表存储在
Int
s的2D数组中。首先,您可以使用从1到乘法表大小的数字填充第一行和第一列。然后,对于剩余空位置的每个元素,只需将同一行的第一个元素与该元素所在的同一列的第一个元素相乘

func multiplicationTable(ofSize n:Int) -> [[Int]] {
    var table = Array(repeating: Array(repeating: 0, count: n), count: n)
    table[0] = Array(1...n)
    for i in 1..<n {
        table[i][0] = i+1
        for j in 1..<n {
            table[i][j] = table[i][0] * table[0][j]
        }
    }
    return table
}

multiplicationTable(ofSize: 5).forEach { row in
    print(row,"\n")
}
func乘法表(大小为n:Int)->[[Int]]{
变量表=数组(重复:数组(重复:0,计数:n),计数:n)
表[0]=数组(1…n)

对于1..中的i,您可以将乘法表存储在
Int
s的2D数组中。首先,您可以使用从1到乘法表大小的数字填充第一行和第一列。然后,对于剩余空位置的每个元素,您只需将同一行的第一个元素与第1行的第一个元素相乘e元素所在的同一列

func multiplicationTable(ofSize n:Int) -> [[Int]] {
    var table = Array(repeating: Array(repeating: 0, count: n), count: n)
    table[0] = Array(1...n)
    for i in 1..<n {
        table[i][0] = i+1
        for j in 1..<n {
            table[i][j] = table[i][0] * table[0][j]
        }
    }
    return table
}

multiplicationTable(ofSize: 5).forEach { row in
    print(row,"\n")
}
func乘法表(大小为n:Int)->[[Int]]{
变量表=数组(重复:数组(重复:0,计数:n),计数:n)
表[0]=数组(1…n)

对于1中的i.如果简洁是最重要的:

let x = 3
let range = 1...x
for i in range {
    print(range.map { String(i * $0) }.joined(separator: "\t"))
}

如果简洁是最重要的:

let x = 3
let range = 1...x
for i in range {
    print(range.map { String(i * $0) }.joined(separator: "\t"))
}


如果你输入5怎么办?那么它需要在5和5之间。正如上面的问题一样,这是一个基本问题,但我似乎无法理解嵌套for循环@RakeshaShastriPost到目前为止你的代码,please@OscarApeland这段代码打印1 2 2 3 2如果你输入5怎么办?那么它将需要穿过5和下面的5..就像上面一样这是一个基本的问题,但到目前为止,我似乎还不能理解嵌套的for循环@RakeshaShastriPost您的代码,please@OscarApeland此代码打印1 2 3 2完美-我将尽快接受答案。感谢内部循环可以替换为
print((1…limit).map{String(i*$0)}.joined(分隔符:“\t”))
@vacawama如果同一打印状态中有多个元素,则分隔符有效。请检查。哦,等等,你是说这个吗?(编辑的答案)谢谢你提供的信息。取消分隔符并使用制表符作为终止符如何?他们的意思是打印(i*j,终止符:“\t”)
perfect-我会尽快接受答案。谢谢内部循环可以被
print((1…limit)。map{String(i*$0)}。joined(separator:“\t”))替换。
@vacawama如果同一打印状态中有多个元素,则分隔符可以工作。签出。哦,等等,你是指这个吗?(编辑的答案)谢谢您提供的信息。取消分隔符并使用制表符作为终止符如何?他们的意思是打印(i*j,终止符:“\t”)