阿摩線上測驗 登入

申論題資訊

試卷:95年 - 095年身心障礙人員資訊處理(四等)#36108
科目:程式設計
年份:95年
排序:0

申論題內容

⑵ A=1,B=2,僅利用 A, B 兩變數名稱與一般四則運算,寫出一段程式 (不可使 用類似 SWAP 指令),將兩者內含值互換。(10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
要在不使用額外變數的情況下互換兩個變數的值,你可以通過以下數學操作來達成目的。這裡展示了如何僅使用 A 和 B 兩個變數以及基本的四則運算(加法、減法、乘法、除法)來實現互換它們的值。
cpp
Copy code
#include <iostream>
using namespace std;
int main() {
    int A = 1, B = 2;
    // 顯示互換前的值
    cout << "Before swap: A = " << A << ", B = " << B << endl;
    // 互換 A 和 B 的值
    A = A + B; // 步驟1: A 現在是 A 和 B 的和
    B = A - B; // 步驟2: B 現在是原來的 A
    A = A - B; // 步驟3: A 現在是原來的 B
    // 顯示互換後的值
    cout << "After swap: A = " << A << ", B = " << B << endl;
    return 0;
}
這個方法的基本思想是首先計算 A 和 B 的和並將其存儲在 A 中,然後從這個和中減去 B(現在存儲在 A 中)以獲得原始的 A 值並將其存儲到 B 中。最後,從 A(即原始的 A 和 B 的和)中減去新的 B(即原始的 A),得到原始的 B 值並將其存儲回 A。這樣就實現了 A 和 B 的值互換而不需要使用額外的變數。