Swift 程序读取并打印二维数组

swiftserver side programmingprogramming更新于 2025/9/23 15:37:17

与其他编程语言一样,Swift 也支持二维数组。二维数组是指以表格形式存储相同类型数据的数组的数组。或者,我们可以说,二维数组是以行和列表示同类数据的数组。

语法

var twoDArray:[[Int]] = [[2, 3],[3, 4]]

为了从用户数据中读取二维数组,Swift 提供了一个名为 readLine() 的内置函数。readLine() 函数从输入中读取一串字符。如果调用此函数时已到达 EOF,则返回 nil。

func readLine()
或
func readLine(strippingNewline: true)

此处的 strippingNewline 参数为布尔类型。如果 strippingNewline 参数设置为 true,则表示从结果中删除换行符及其组合。否则,将保留这些字符。strippingNewline 参数的默认值为 true。

要打印二维数组,我们可以使用嵌套的 for-in 循环。嵌套的 for-in 循环会遍历给定二维数组的行和列中的每个元素。

for x in 0..<rows {
   for y in 0..<cols {
      print(newArray[x][y], terminator: " ")
   }
   print("")
}

这里外部 for-in 循环代表二维数组的行,内部 for 循环代表二维数组的列。下标"newArray[x][y]"用于访问数组元素。

算法

  • 步骤 1 - 从用户那里读取二维数组的总行数和列数。

  • 步骤 2 - 使用默认值创建并初始化二维数组。

  • 步骤 3 - 现在从用户那里读取数组元素。

  • 步骤 4 - 输入所有数组元素后,在输出屏幕上显示结果二维数组。

示例

在下面的 Swift 示例中,我们将首先使用 readLine() 函数从用户那里读取行数和列数。然后,我们创建并初始化一个二维数组,默认值为 0。现在,我们根据用户输入的位置读取二维数组中的每个元素,(0, 1) 元素为 2,(0, 2) 元素为 4,以此类推。这里 0 代表第 0 行,1 代表第 1 列。输入所有数组元素后,显示最终的二维数组。

import Foundation
import Glibc

// 输入行和列的大小
print("输入行的大小")
let rows = Int(readLine()!)!
print("输入列的大小")
let cols = Int(readLine()!)!

// 使用默认值初始化二维数组
var newArray = [[Int]](repeating: [Int](repeating: 0, count: cols), count: rows)

// 输入数组元素
for x in 0..<rows {
   for y in 0..<cols {
      print("Enter element (\(x),\(y)): ")
      if let input = readLine(), let ele = Int(input) {
         newArray[x][y] = ele
      } else {
         print("Input is not valid. Please enter an integer value.")
      }
   }
}

// 显示结果数组
print("\nFinal \(rows)x\(cols) matrix is:")
for x in 0..<rows {
   for y in 0..<cols {
      print(newArray[x][y], terminator: " ")
   }
   print("")
}

输入

Enter the size of row
3
Enter the size of column
3
Enter element (0,0): 
3
Enter element (0,1): 
2
Enter element (0,2): 
4
Enter element (1,0): 
2
Enter element (1,1): 
6
Enter element (1,2): 
7
Enter element (2,0): 
4
Enter element (2,1): 
3
Enter element (2,2): 
7

输出

Final 3x3 matrix is:
3 2 4 
2 6 7 
4 3 7 

结论

以上就是我们读取和打印二维数组的方法。使用上述方法,您可以创建 2x2、3x4、4x3 等类型的矩阵。此外,在使用 readLine() 函数时,您必须使用初始化函数(例如,对于整数数据类型使用 Int(),对于双精度数据类型使用 Double())将结果转换为所需的数据类型,因为 readLine() 函数始终返回字符串类型的结果。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部