C Examples

C Program - Find Largest Number among three Numbers



Three numbers x, y and z are given and the largest number among these three numbers can be found out using below methods:

Method 1: Using If statement

In the example below, only if conditional statements are used.

#include <stdio.h>

static void largest(int, int, int);

static void largest(int x, int y, int z) {
  int max = x;
  if (x >= y && x >= z)
    {max = x;}
  if (y >= x && y >= z)
    {max = y;}
  if (z >= x && z >= y)
    {max = z;}
  printf("largest number among %i, %i and %i is: %i\n", 
          x, y, z, max);
}

int main() {
  largest(100, 50, 25);
  largest(50, 50, 25);
}

The above code will give the following output:

largest number among 100 , 50 and 25 is:  100
largest number among 50 , 50 and 25 is:  50

Method 2: Using If-else statement

It can also be solved using If-else conditional statements.

#include <stdio.h>

static void largest(int, int, int);

static void largest(int x, int y, int z) {
  int max = x;
  if (x >= y && x >= z)
    {max = x;}
  else if (y >= x && y >= z)
    {max = y;}
  else 
    {max = z;}
  printf("largest number among %i, %i and %i is: %i\n", 
          x, y, z, max);
}

int main() {
  largest(100, 50, 25);
  largest(50, 50, 25);
}

The above code will give the following output:

largest number among 100 , 50 and 25 is:  100
largest number among 50 , 50 and 25 is:  50

Method 3: Using Nested If-else statement

The above problem can also be solved using nested if-else conditional statements.

#include <stdio.h>

static void largest(int, int, int);

static void largest(int x, int y, int z) {
  int max = x;
  if (x >= y) {
    if(x >= z) 
      {max = x;}
    else
      {max = z;}
  }
  else {
    if(y >= z) 
      {max = y;}
    else
      {max = z;}
  }
  printf("largest number among %i, %i and %i is: %i\n", 
          x, y, z, max);
}

int main() {
  largest(100, 50, 25);
  largest(50, 50, 25);
}

The above code will give the following output:

largest number among 100 , 50 and 25 is:  100
largest number among 50 , 50 and 25 is:  50

Method 4: Using ternary operator

The ternary operator can also be used here.

#include <stdio.h>

static void largest(int, int, int);

static void largest(int x, int y, int z) {
  int max = x;
  max = (x > y)? ((x > z)? x : z) : ((y > z)? y : z);
  printf("largest number among %i, %i and %i is: %i\n", 
          x, y, z, max);
}

int main() {
  largest(100, 50, 25);
  largest(50, 50, 25);
}

The above code will give the following output:

largest number among 100 , 50 and 25 is:  100
largest number among 50 , 50 and 25 is:  50