- C++ Programming Examples
- C++ Programming Examples
- C++: Hello World
- C++: Get Input
- C++: Print Integer
- C++: Add two numbers
- C++: Add, Sub, Multiply, Div
- C++: Add Digits
- C++: Find Average and Percentage
- C++: Find Arithmetic Mean
- C++: Sum of n Natural Numbers
- C++: Sum of n Numbers
- C++: Square's Area and Perimeter
- C++: Rectangle's Area and Perimeter
- C++: Triangle's Area and Perimeter
- C++: Area and Circumference
- C++: Find Simple Interest
- C++: Fahrenheit to Celsius
- C++: Celsius to Fahrenheit
- C++: Print Prime Numbers
- C++: Reverse a Number
- C++: Swap Two Numbers
- C++: Print Multiplication Table
- C++: Find Factorial of a Number
- C++: Find Factors of a Number
- C++: Find HCF and LCM
- C++: Create a Calculator
- C++: Count Digits in a Number
- C++: First and Last Digit Sum
- C++: Product of Number Digits
- C++: Sum of Squares of Digits
- C++: Interchange Digits of Number
- C++ if-else Programs
- C++: Check Even or Odd
- C++: Check Prime or Not
- C++: Check Alphabet or Not
- C++: Check Vowel or Not
- C++: Check Leap Year or Not
- C++: Check Reverse equals Original
- C++: Check Perfect Number
- C++: Check Palindrome or Not
- C++: Check Armstrong or Not
- C++: Divisibility Test
- C++: Find Labor Wage
- C++: Find Discounted Price
- C++: Find Shipping Charge
- C++: Find Telephone Bills
- C++: Calculate Student Grade
- C++: Largest of Two Numbers
- C++: Largest of Three Numbers
- C++ Number Conversion
- C++: Decimal to Binary
- C++: Decimal to Octal
- C++: Decimal to Hexadecimal
- C++: Binary to Decimal
- C++: Binary to Octal
- C++: Binary to Hexadecimal
- C++: Octal to Decimal
- C++: Octal to Binary
- C++: Octal to Hexadecimal
- C++: Hexadecimal to Decimal
- C++: Hexadecimal to Binary
- C++: Hexadecimal to Octal
- C++ Pattern Programs
- C++: Pattern Programs
- C++: Print Diamond Pattern
- C++: Print Floyd's Triangle
- C++: Print Pascal's Triangle
- C++ Array Programs
- C++: 1D Array Program
- C++: Linear Search
- C++: Binary Search
- C++: Largest Element in an Array
- C++: Smallest Element in an Array
- C++: Find Second Largest Element
- C++: Find Second Smallest Element
- C++: Sum of All Elements
- C++: Multiply All Elements
- C++: Element in Even Position
- C++: Element in Odd Position
- C++: Print Even Numbers in Array
- C++: Print Odd Numbers in Array
- C++: Count Even or Odd Numbers
- C++: Sum of Even or Odd Numbers
- C++: Count Positive, Negative, Zero
- C++: Reverse an Array
- C++: Insert an Element
- C++: Delete an Element
- C++: Merge two Arrays
- C++: Bubble Sort
- C++: Selection Sort
- C++: Insertion Sort
- C++: Common Elements
- C++: 2D Array Programs
- C++: Add Two Matrices
- C++: Subtract Two Matrices
- C++: Transpose Matrix
- C++: Multiply Two Matrices
- C++: 3D Array Programs
- C++ String Programs
- C++: Print String
- C++: Find String Length
- C++: Compare Two Strings
- C++: Copy String
- C++: String Concatenation
- C++: Reverse a String
- C++: Delete Vowels from a String
- C++: Delete a Word from a String
- C++: Count Characters in a String
- C++: Count Words in a String
- C++: Frequency of Words
- C++: Remove Spaces from Strings
- C++: Sort a String
- C++: Uppercase to Lowercase
- C++: Lowercase to Uppercase
- C++: Swap Two Strings
- C++: Check the Anagram or Not
- C++: Capitalize All Words in a String
- C++: Get Numbers from a String
- C++ File Programs
- C++: Read a File
- C++: Write Content to a File
- C++: Append Data to a File
- C++: Read and Display File
- C++: Copy a File
- C++: Merge Two Files
- Count Characters in a File
- C++: Capitalize Every Word
- C++: List Files in Directory
- C++: Delete a File
- C++: Encrypt and Decrypt a File
- C++ Misc Programs
- C++: Print ASCII Value
- C++: Add Binary Numbers
- C++: Generate Random Numbers
- C++: Print a Smiling Face
- C++: Days into Years and Months
- C++: Add Two Numbers using Pointer
- C++: Print Fibonacci Series
- C++: Generate Armstrong Numbers
- C++: Find nCr and nPr
- C++: Get IP Address
- C++: Print Date and Time
- C++: Shutdown and Restart Computer
- C++ Programming Tutorial
- C++ Tutorial

# C++ Program to Find the Largest of Three Numbers

This article will teach you how to use C++ to find and print the largest of three numbers entered by the user at run-time. The program is created in the following ways:

- Find the largest of three numbers without function
- Find the largest of three numbers using a user-defined function

Both programs uses *if-else* to find and print the largest or biggest among any three numbers entered by the user.

## In C++, find the largest of three numbers

To find the largest number among three numbers in C++ programming, you have to ask the user to enter the three numbers. Now use the if-else ladder to find out which of the three is the largest, as shown in the program given below:

The question is, "Write a program in C++ that finds the largest of three numbers." Here is its answer:

#include<iostream> using namespace std; int main() { int numOne, numTwo, numThree, larg; cout<<"Enter the Three Numbers: "; cin>>numOne>>numTwo>>numThree; if(numOne>numTwo) { if(numTwo>numThree) larg = numOne; else { if(numThree>numOne) larg = numThree; else larg = numOne; } } else { if(numTwo>numThree) larg = numTwo; else larg = numThree; } cout<<"\nLargest Number = "<<larg; cout<<endl; return 0; }

This program was built and runs under the Code::Blocks IDE. Here is its sample run:

Now supply any three numbers as input, say 1, 2, and 3. The third number is the largest in this case, and the second number is the second-largest. Press the ENTER key to print the largest of these three numbers, as shown in the output given below:

Here is another sample run with user inputs 1, 3, and 2. The second number is the largest in this case, and the third number is the second largest:

Here is one more sample run with user input: 3, 1, 2:

#### Main Logic of the Previous Program

The main logic behind the code is:

- Initially, it checks whether the first number is greater than the second:
- If the first number is greater than the second, then check whether the second number is greater than the third:
- if it is true. Then the first number exceeds the second, and the second number exceeds the third.
- So the first number is the largest number.

- If the second number is not greater than the third, the third number is greater than the second.
- Because the third number is greater than the second, check whether the third number is also greater than the first:
- if it is true. The third number is then greater than the first and second.
- So the third number is the largest number.
- If the third number is not greater than the first, the first number is greater than the third.
- Because the first number is greater than both the third and second
- So the first number is the largest number.

- If the first number is greater than the second, then check whether the second number is greater than the third:
- If the first number is not greater than the second, then the second number is greater than the first:
- Because the second number is greater than the first, I checked whether the second number is also greater than the third:
- if it is true. The second number is then greater than both the first and third numbers.
- So the second number is the largest.
- If the second number is not greater than the third, the third number is greater than the second.
- because the third number is higher than the second, and the second number is higher than the first.
- So the third number is the largest.

- Because the second number is greater than the first, I checked whether the second number is also greater than the third:

#### The previous program is demonstrated with a dry run

The dry run of the above program with user inputs 2, 1, and 3 goes like this:

- When the user enters
**2, 1, and 3**in the same pattern, then 2 gets stored in**numOne**, 1 gets stored in**numTwo**, and 3 gets stored in**numThree**. That is,**numOne=2**,**numTwo=1**, and**numThree=3**. - Now that the condition
**numOne>numTwo**or**2>1**evaluates to be true, program flow goes inside the**if**block. - Now the condition
**numTwo>numThree**or**1>3**evaluates to be false, so the program flow does not go inside**if**'s body, but rather to the**else**'s body. - There, the condition
**numThree>numOne**or**3>2**evaluates to true, program flow goes inside the**if**'s body. - And the value of
**numThree**is set to**larg**. - The program flow will skip
**else**'s part because the condition evaluates to true. - And because the outermost
**if-else**condition evaluates to true,**else**'s part is skipped in this case as well. - So program flow goes to the statement that prints the value of
**larg**as output. - That will print the largest among the three numbers entered.

## Using a C++ function, find the largest of three numbers

This program does the same job as the previous program. But internally, this program uses a different approach to do the task. That is, this program is created using a user-defined function, findLargest().

The function findLargest() takes three numbers as its arguments and returns the largest among them. So the largest
number gets returned by this function and initialized to **larg** inside the main() function. Therefore, just print
the value of **larg**.

#include<iostream> using namespace std; int findLargest(int, int, int); int main() { int numOne, numTwo, numThree, larg; cout<<"Enter the Three Numbers: "; cin>>numOne>>numTwo>>numThree; larg = findLargest(numOne, numTwo, numThree); cout<<"\nLargest Number = "<<larg; cout<<endl; return 0; } int findLargest(int nOne, int nTwo, int nThree) { if(nOne>nTwo) { if(nTwo>nThree) return nOne; else { if(nThree>nOne) return nThree; else return nOne; } } else { if(nTwo>nThree) return nTwo; else return nThree; } }

This program produces the same output as the previous program.

#### The same program in different languages

- C Find Largest of three Numbers
- Java Find Largest of three Numbers
- Python Find Largest of three Numbers

« Previous Program Next Program »