# C Program: Find the Largest/Greatest/Maximum of Three Numbers

In this tutorial, we will write a simple C program to find largest of three given numbers.

Consider the three numbers `a`, `b` and `c`.

Below is a simple algorithm for finding the largest among them:

```				```
Step 1: Start
Step 2: Declare three integer variables a, b, c
Step 3: If a is greater than b,
If a is greater than c,
Print "a is largest"
Else
Print "c is largest"
Else
If b is greater than c,
Print "b is largest"
Else
Print "c is largest"
Step 4: Stop
```
```

The above algorithm is implemented into a C program below.

```				```
#include <stdio.h>

int main() {
int a, b, c;

printf("Enter the first number: ");
scanf("%d", &a);

printf("Enter the second number: ");
scanf("%d", &b);

printf("Enter the third number: ");
scanf("%d", &c);

if (a >= b) {
if (a >= c)
printf("The largest number is %d.\n", a);
else
printf("The largest number is %d.\n", c);
}
else {
if (b >= c)
printf("The largest number is %d.\n", b);
else
printf("The largest number is %d.\n", c);
}

return 0;
}
```
```

On executing the above program, the prompt to enter numbers will appear three times as follows:

```				```
\$ ./a.out
Enter the first number:
Enter the second number:
Enter the third number:
```
```

The above program has several nested `if` statements. Here is a much simpler and shorter program, based on an algorithm given here, to achieve the same.

```				```
#include <stdio.h>

int main() {
int a, b, c, max;

printf("Enter the first number: ");
scanf("%d", &a);

printf("Enter the second number: ");
scanf("%d", &b);

printf("Enter the third number: ");
scanf("%d", &c);

max = a;

if(b > max) {
max = b;
}

if(c > max) {
max = c;
}

printf("The largest number is %d.\n", max);

return 0;
}
```
```