C++ Program to swap two numbers

Write a C++ program that swaps the values of two numbers provided by the user.

Input and Output Examples

  • Input: a = 5, b = 10

    Output: a = 10, b = 5

  • Input: a = -3, b = 7

    Output: a = 7, b = -3

Algorithm to swap two numbers:

  1. Start the Program: Include necessary headers and use the standard namespace.
  2. Prompt for Input: Ask the user to enter two numbers.
  3. Read the Input: Store the input numbers in variables a and b.
  4. Swap the Numbers: Utilize a method to swap the values of a and b.
  5. Display the Output: Print the swapped values.
  6. End the Program: Finish execution.

C++ Program with Different Methods to Swap Numbers

Below are three common methods to swap two numbers in C++:
 

Method 1: C++ program to swap two numbers using a Temporary Variable

This is the most straightforward approach, using an extra variable to temporarily hold one of the values during the swap.

cpp
#include <iostream> 
using namespace std; 

int main() {

    // Declare the variables for the numbers and a temporary variable.
    int a, b, temp; 

    // Take input values
    cout << "Enter two numbers:\n"; 
    cin >> a >> b; 

    
    // Swapping using a temporary variable
    temp = a; // Store the value of a in temp.
    a = b; // Transfer the value of b to a.
    b = temp; // Transfer the value stored in temp to b.

    cout << "After swapping:\n" << "a = " << a << ", b = " << b << endl; // Display the swapped values.
    return 0; // End the program successfully.
}

Method 2: Without Using a Temporary Variable (Arithmetic Operations)

This method uses arithmetic operations to swap values without a temporary variable. However, it may lead to overflow for very large integers.

cpp
#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Enter two numbers:\n";
    cin >> a >> b;

    // Swapping without a temporary variable using addition and subtraction
    a = a + b; // Sum of a and b stored in a
    b = a - b; // Original value of a (a+b) minus b gives the original a, now stored in b
    a = a - b; // Original value of a (a+b) minus new b (original a) gives original b

    cout << "After swapping:\n" << "a = " << a << ", b = " << b << endl;
    return 0;
}

Method 3: Using Bitwise XOR Operator

The XOR swap is a neat trick for integers that uses bitwise XOR to swap values without a temporary variable.

cpp
#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Enter two numbers:\n";
    cin >> a >> b;

    // Swapping using bitwise XOR
    a ^= b; // Step 1: a becomes a XOR b
    b ^= a; // Step 2: b becomes b XOR (a XOR b) which is a
    a ^= b; // Step 3: a becomes (a XOR b) XOR a which is b

    cout << "After swapping:\n" << "a = " << a << ", b = " << b << endl;
    return 0;
}

Programming

8448

309

Related Articles