如何在 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。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP