codescracker
c++

C++ Program to Interchange the Digits of a Number



« Previous Program Next Program »

In this article, you will learn and get code to interchange the digits of a number entered by user at run-time in C++. Here are the list of programs available in this article:

Interchange First and Last Digit of a Number

To interchange first and last digit of a number in C++ programming, you have to ask from user to enter the number. And then interchange its first and last digit as shown in the program given below:

The question is, write a program in C++ to interchange first and last digit of a number. Here is its answer:

// C++ Interchange First and Last digit of a Number
// ----codescracker.com----

#include<iostream>
using namespace std;
int main()
{
    int num, rem, temp, rev=0, noOfDigit=0;
    int noOfDigitTemp, revNum, remTemp;
    cout<<"Enter the Number: ";
    cin>>num;
    temp = num;
    while(temp>0)
    {
        temp = temp/10;
        noOfDigit++;
    }
    if(noOfDigit<2)
    {
        cout<<"\nIt is a Single-digit Number!";
        cout<<"\nTry again with a Number with Two or More Digits!";
    }
    else if(noOfDigit==2)
    {
        temp = num;
        while(temp>0)
        {
            rem = temp%10;
            rev = (rev*10)+rem;
            temp = temp/10;
        }
        cout<<"\nFirst and Last Digit Interchanged Successfully!";
        cout<<"\n\nNew Number = "<<rev;
    }
    else
    {
        temp = num;
        while(temp>0)
        {
            rem = temp%10;
            rev = (rev*10)+rem;
            temp = temp/10;
        }
        revNum = rev;
        rev = 0;
        temp = num;
        noOfDigitTemp = noOfDigit;
        while(temp>0)
        {
            remTemp = revNum%10;
            if(noOfDigitTemp==noOfDigit)
            {
                rem = temp%10;
                rev = (rev*10)+rem;
            }
            else if(noOfDigitTemp==1)
            {
                rem = temp%10;
                rev = (rev*10)+rem;
            }
            else
            {
                rev = (rev*10)+remTemp;
            }
            temp = temp/10;
            revNum = revNum/10;
            noOfDigitTemp--;
        }
        cout<<"\nFirst and Last Digit Interchanged Successfully!";
        cout<<"\n\nNew Number = "<<rev;
    }
    cout<<endl;
    return 0;
}

This program was build and run under Code::Blocks IDE. Here is its sample run:

C++ program to interchange numbers

Now supply any number say 1234 and press ENTER to interchange the first (1) and last (4) digit of this number. After interchanging the first and last digits, print the new number as shown in the snapshot of sample run given below:

interchange digits of number c++

Here is another sample run with user input 12, a two-digit number:

c++ interchange digits of number

Here is one more sample run with user input 3, a single-digit number:

interchange first last digit of number c++

Note - What if user enters a number ends with 0. Or if user enters a number that has 0 as its last digit. Then above program produces the following output in this case:

interchange digits of number program c++

To solve this problem, we've another program for you. This program does the same job, but using an array. Let's have a look at the program given below.

Interchange First and Last Digit using Array

This program does the same job, that is interchanging the first and last digit of a number given by user, using array.

// C++ Interchange First/Last digit of Number using Array
// ----codescracker.com----

#include<iostream>
using namespace std;
int main()
{
    int num, rem, temp, rev=0, noOfDigit=0, arr[10], i;
    cout<<"Enter the Number: ";
    cin>>num;
    temp = num;
    while(temp>0)
    {
        temp = temp/10;
        noOfDigit++;
    }
    temp = num;
    while(temp>0)
    {
        rem = temp%10;
        rev = (rev*10)+rem;
        temp = temp/10;
    }
    for(i=0; i<noOfDigit; i++)
    {
        rem = rev%10;
        arr[i] = rem;
        rev = rev/10;
    }
    if(noOfDigit==1)
    {
        cout<<"\nIt is a Single-digit Number!";
        cout<<"\nTry again with a Number with Two or More Digits!";
    }
    else if(noOfDigit==2)
    {
        temp = arr[0];
        arr[0] = arr[1];
        arr[1] = temp;
        cout<<"\nFirst and Last Digit Interchanged Successfully!";
        cout<<"\n\nNew Number = "<<arr[0]<<arr[1];
    }
    else
    {
        i=0;
        temp = arr[i];
        arr[i] = arr[noOfDigit-1];
        arr[noOfDigit-1] = temp;
        cout<<"\nFirst and Last Digit Interchanged Successfully!";
        cout<<"\n\nNew Number = ";
        for(i=0; i<noOfDigit; i++)
            cout<<arr[i];
    }
    cout<<endl;
    return 0;
}

Here is its sample run with user input, 1230:

interchange digits of number using array c++

Interchange any Two Digits of a Number

This program is created to interchange any two digit of a number. Any two digit means, you are free to interchange the digit at position say 2 with digit at position say 5:

For example, if user enters a number as 23706, and wants to interchange the digit at second position (3) with digit at fifth position (6). Then the new number after interchanging the required digit, will be 26703

// C++ Interchange Any Digit of Number using Array
// ----codescracker.com----

#include<iostream>
using namespace std;
int main()
{
    int num, posFirst, posSecond;
    int rem, temp, rev=0, noOfDigit=0, arr[10], i;
    cout<<"Enter the Number: ";
    cin>>num;
    temp = num;
    while(temp>0)
    {
        temp = temp/10;
        noOfDigit++;
    }
    if(noOfDigit==1)
    {
        cout<<"\nIt is a Single-digit Number!";
        cout<<"\nTry again with a Number with Two or More Digits!";
    }
    else
    {
        cout<<"\nInterchange the Digit at Position: ";
        cin>>posFirst;
        cout<<"With Digit at Position: ";
        cin>>posSecond;
    }
    if(posFirst>noOfDigit || posSecond>noOfDigit)
        cout<<"\nInvalid Position!";
    else
    {
        temp = num;
        while(temp>0)
        {
            rem = temp%10;
            rev = (rev*10)+rem;
            temp = temp/10;
        }
        for(i=0; i<noOfDigit; i++)
        {
            rem = rev%10;
            arr[i] = rem;
            rev = rev/10;
        }
        i=0;
        temp = arr[posFirst-1];
        arr[posFirst-1] = arr[posSecond-1];
        arr[posSecond-1] = temp;
        cout<<"\nDigits Interchanged Successfully!";
        cout<<"\n\nNew Number = ";
        for(i=0; i<noOfDigit; i++)
            cout<<arr[i];
    }
    cout<<endl;
    return 0;
}

Here is its sample run with user input, 123403 as number, 3 and 5 as digit position to interchange:

interchange any digit of number c++

Same Program in Other Languages

C++ Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker