如何在 Swift 程式中不使用臨時變數交換數字?


本教程將討論如何編寫一個 Swift 程式來交換兩個數字,而無需使用臨時變數。交換兩個變數意味著互換兩個變數的值。

不使用臨時變數交換兩個數字

給定兩個變數 Number1 和 Number2,現在我們不使用任何臨時變數來交換它們的值。這裡我們使用元組來執行交換操作。

演算法

演算法解釋如下:

  • 步驟 1 - 宣告兩個整型變數 - Number1 和 Number2

  • 步驟 2 - 為 Number1 和 Number2 分配值

  • 步驟 3 - 使用元組語法進行交換:

    (Number1, Number2) = (Number2, Number1)


  • 步驟 4 - 顯示 Number1 和 Number2 變數的值

示例

以下 Swift 程式將展示如何不使用臨時變數交換兩個數字。

import Foundation
import Glibc

var Number1 = 32
var Number2 = 54

print("Number 1 before swapping:", Number1)
print("Number 2 before swapping:", Number2)

(Number1, Number2) = (Number2, Number1)

print("\nNumber 1 after swapping:", Number1)
print("Number 2 after swapping:", Number2)

輸出

Number 1 before swapping: 32
Number 2 before swapping: 54

Number 1 after swapping: 54
Number 2 after swapping: 32

在上面的程式碼中,我們有兩個數字,Number1 = 32 和 Number2 = 54,現在我們使用元組交換它們。所以交換後的值為 Number1 = 54 和 Number2 = 32。

使用加法和減法運算交換數字

給定兩個變數 Num_1 和 Num_2,現在我們使用加法和減法運算交換它們的值。

演算法

演算法解釋如下:

  • 步驟 1 - 宣告兩個整型變數 - Num_1 和 Num_2

  • 步驟 2 - 為 Num_1 和 Num_2 分配值

  • 步驟 3 - 使用加法和減法運算交換數字:

    Num_1 = Num_1 + Num_2

    Num_2 = Num_1 - Num_2

    Num_1 = Num_1 - Num_2


  • 步驟 4 - 顯示 Num_1 和 Num_2 變數的值

  • 步驟 5 - 結束

示例

以下 Swift 程式將展示如何使用加法和減法運算交換兩個數字。

import Foundation
import Glibc

var Number1 = 30
var Number2 = 59

print("Number 1 before swapping:", Number1)
print("Number 2 before swapping:", Number2)

Number1 = Number1 + Number2
Number2 = Number1 - Number2
Number1 = Number1 - Number2

print("\nNumber 1 after swapping:", Number1)
print("Number 2 after swapping:", Number2)

輸出

Number 1 before swapping: 30
Number 2 before swapping: 59

Number 1 after swapping: 59
Number 2 after swapping: 30

在上面的程式碼中,我們有兩個數字,Number1 = 30 和 Number2 = 59,現在我們使用加法和減法運算交換它們。以下程式碼將顯示交換過程:

Number1 = Number1 + Number2 // Number1 即 30 + 59 = 89

Number2 = Number1 - Number2 // Number2 即 89 - 59 = 30

Number1 = Number1 - Number2 // Number1 即 89 - 30 = 59

所以交換後的值為 Number1 = 59 和 Number2 = 30。

使用乘法和除法運算交換數字

給定兩個變數 Number1 和 Number2,現在我們使用乘法和除法運算交換它們的值。但是此方法有一個缺點,即如果任何一個變數的值為零,則會導致錯誤。

演算法

演算法解釋如下:

  • 步驟 1 - 開始

  • 步驟 2 - 宣告兩個整型變數:Number1 和 Number2

  • 步驟 3 - 為 Number1 和 Number2 分配值

  • 步驟 4 - 使用乘法和除法運算交換數字:

    Num_1 = Number1 * Number2

    Num_2 = Number1 / Number2

    Num_1 = Number1 / Number2


  • 步驟 5 - 顯示 Number1 和 Number2 變數的值

  • 步驟 6 - 結束

示例

以下 Swift 程式將展示如何使用乘法和除法運算交換兩個數字。

import Foundation
import Glibc

var Number1 = 38
var Number2 = 93

print("Number 1 before swapping:", Number1)
print("Number 2 before swapping:", Number2)

Number1 = Number1 * Number2
Number2 = Number1 / Number2
Number1 = Number1 / Number2

print("\nNumber 1 after swapping:", Number1)
print("Number 2 after swapping:", Number2)

輸出

Number 1 before swapping: 38
Number 2 before swapping: 93

Number 1 after swapping: 93
Number 2 after swapping: 38

在上面的程式碼中,我們有兩個數字,Number1 = 38 和 Number2 = 93,現在我們使用乘法和除法運算交換它們。以下程式碼將顯示交換過程:

Number1 = Number1 * Number2 // Number1 變為 3534 即 38 * 93 = 3534

Number2 = Number1 / Number2 // Number2 變為 38 即 3534 / 93 = 38

Number1 = Number1 / Number2 // Number1 變為 93 即 3534 / 38 = 93

所以交換後的值為 Number1 = 93 和 Number2 = 38。

使用按位異或運算子交換數字

給定兩個變數 Number1 和 Number2,現在我們使用按位異或運算子(^)交換它們的值。此運算子執行兩個數字的異或運算,並返回一個數字,該數字在兩個數字的位彼此不同時,所有位都為 1。例如,8(二進位制為 1000)和 3(二進位制為 0011)的異或運算結果為 11(二進位制為 1011)。

演算法

演算法解釋如下:

  • 步驟 1 - 宣告兩個整型變數:Number1 和 Number2

  • 步驟 2 - 為 Number1 和 Number2 分配值

  • 步驟 3 - 使用按位異或運算子交換數字

    Number1 = Number1 ^ Number2

    Number2 = Number1 ^ Number2

    Number1 = Number1 ^ Number2


  • 步驟 4 - 顯示 Number1 和 Number2 變數的值

示例

以下 Swift 程式將展示如何使用按位異或運算子交換數字。

import Foundation
import Glibc

var Number1 = 7
var Number2 = 4

print("Number 1 before swapping:", Number1)
print("Number 2 before swapping:", Number2)

Number1 = Number1 ^ Number2
Number2 = Number1 ^ Number2
Number1 = Number1 ^ Number2

print("\nNumber 1 after swapping:", Number1)
print("Number 2 after swapping:", Number2)

輸出

Number 1 before swapping: 7
Number 2 before swapping: 4

Number 1 after swapping: 4
Number 2 after swapping: 7

在上面的程式碼中,我們有兩個數字,Number1 = 7 和 Number2 = 4,現在我們使用按位異或運算子交換它們。以下程式碼將顯示交換過程:

// 7 的二進位制形式為 0111,4 的二進位制形式為 0100

Number1 = Number1 ^ Number2 // Number1 將為 3(二進位制形式為 0011),即 7 ^ 4 = 3

Number2 = Number1 ^ Number2 // Number2 將為 7(二進位制形式為 0111),即 3 ^ 4 = 7

Number1 = Number1 ^ Number2 // Number2 將為 4(二進位制形式為 0100),即 3 ^ 7 = 4

所以交換後的值為 Number1 = 4 和 Number2 = 7。

更新於: 2022-07-29

14K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.