# C Program to Find Largest of Three Numbers

In this tutorial, we will learn about how to find and print largest of any given three numbers (by user at run-time) with and without using function and also using ternary operator.

## Find Largest of Three Numbers in C

To find the largest number among given three numbers in C programming, you have to ask from the user to enter any three number, now start checking which one is the largest number using if-else block. After finding the largest one among given three, display that number as the largest number of the three number.

## C Programming Code to Find Largest of Three Numbers

Following C program ask from the user to enter any three numbers to check which one is the largest or biggest, then display the result on the screen:

```// Write a program in C to find and print greatest
// or largest of any given three numbers by user
// ---------codescracker.com----------

#include<stdio.h>
#include<conio.h>
int main()
{
int a, b, c, big;
printf("Enter three numbers: ");
scanf("%d%d%d", &a, &b, &c);
if(a>b)
{
if(b>c)
big = a;
else
{
if(c>a)
big = c;
else
big = a;
}
}
else
{
if(b>c)
big = b;
else
big = c;
}
printf("\nLargest number = %d", big);
getch();
return 0;
}```

As the above program was written under Code::Blocks IDE, therefore after successful build and run, you will get the following output as shown here in the snapshot given below: Supply any three numbers say 3, 1, and 2 and press ENTER key to see the largest number as given in the second snapshot of the sample run: Let's take another sample run for the same above program. Here is the final snapshot of the second sample run: Here is the final snapshot of the third sample run: In all cases that when you will supply:

• first number as largest & second number as second largest
• first number as largest & third number as second largest
• second number as largest & first number as second largest
• second number as largest & third number as second largest
• third number as largest & first number as second largest
• third number as largest & second number as second largest

You will only get the greatest number as output.

Here are some of the main steps used in above program:

• Receive three numbers as input and store it inside the three variables as first, second and third number say a, b and c
• Check whether the first number say a is greater than the second number say b
• If it is, then go to the if block and check whether the value inside b is also greater than c
• If it is, then the value present at the first number say a will be initialized to the variable big, otherwise, check whether the third number say c is greater than the first number say a
• If it is, then the vaulue present at c gets initialized to big, otherwise intialize a to big and come out from the if block
• And if a is less than b, then check whether b is greater than c
• If it is, initialize the value of b to big, otherwise initialize the value of c to big
• Print the value of big variable as output, that will be the largest value among the given three numbers

You can also use the following program to find out the largest among the given three numbers:

```// Write a program in C to find out the
// largest of any given three numbers
// ---------codescracker.com----------

#include<stdio.h>
#include<conio.h>
int main()
{
int a, b, c, big;
printf("Enter three numbers: ");
scanf("%d%d%d", &a, &b, &c);
if(a>b && a>c)
big = a;
else if(b>a && b>c)
big = b;
else
big = c;
printf("\nLargest number = %d", big);
getch();
return 0;
}```

The above program is little bit simple to create and understand in comparison to the above one. This will also calculates and print the largest number among any given three numbers.

## Print Largest of three Numbers using Ternary Operator

Here I'm going to create the same program, that is to find out and print the largest among given three numbers, but this time using the ternary operator. Let's take a look at the program:

```// Write a program in C, which take three integer
// values and print largest or maximum Value
// using Ternary Operator
// -----------codescracker.com-----------

#include<stdio.h>
#include<conio.h>
int main()
{
int num1, num2, num3, large;
printf("Enter any three numbers: ");
scanf("%d%d%d", &num1, &num2, &num3);
large = (num1>num2) ? ((num1>num3)?num1:num3) : ((num2>num3)?num2:num3);
printf("Largest/Maximum number = %d", large);
getch();
return 0;
}```

After successfully build and run the above program, here is the first screenshot of the sample run: Now supply any three numbers as input say 12, 23, and 11 and then press `ENTER` to see the output. Here is the second snapshot of the sample run: Here are some of the main steps used in above program:

• Receive any three numbers as input say num1, num2, and num3
• Use ternary operator (?:) and initialize the largest to the variable say large
• Here if value at num1 greater than value at num2
• and value at num1 is also greater than value at num3
• then num1 will be initialized to large
• otherwise num3 will be initialized to large
• And if num2 is greater than num1
• and num2 is also greater than num3
• then num2 will be initialized to large
• otherwise num3 will be initialized to large
• Print the value of variable large that holds the largest value

Here we have used nested ternary operator, that is ternary operator inside the ternary operator.

## C Find Largest of Three Numbers using Function

Now let's find out the largest among any given three numbers using any user-defined function. Here we have created a function named findLarge() that will take three values as argument and will return the largest among these three numbers. Here is the program:

```// Write a program in C to find out the
// largest of any given three numbers
// using user-defined function
// ---------codescracker.com----------

#include<stdio.h>
#include<conio.h>
int findLarge(int, int, int);
int main()
{
int a, b, c, big;
printf("Enter three numbers: ");
scanf("%d%d%d", &a, &b, &c);
big = findLarge(a, b, c);
printf("\nLargest number = %d", big);
getch();
return 0;
}
int findLarge(int num1, int num2, int num3)
{
if(num1>num2)
{
if(num2>num3)
return num1;
else
{
if(num3>num1)
return num3;
else
return num1;
}
}
else
{
if(num2>num3)
return num2;
else
return num3;
}
}```

Here is the final snapshot of the sample run: Here the function takes the three given numbers as its argument and will return the largest one that will be initialized to the variable say big. Print the value of big that will hold the largest value among the given three numbers.

### Same Program in Other Programming Language

You may also like same program in other programming languages:

Tools
Calculator