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;
}