# Hackerrank Functions in C Solution

**Objective**

In this challenge, you will learn simple usage of functions in C. Functions are a bunch of statements glued together. A function is provided with zero or more arguments, and it executes the statements on it. Based on the return type, it either returns nothing (void) or something.

A sample syntax for a function is return_type function_name(arg_type_1 arg_1, arg_type_2 arg_2, ...) { ... ... ... [if return_type is non void] return something of type `return_type`; }

For example, a function to read four variables and return the sum of them can be written as int sum_of_four(int a, int b, int c, int d) { int sum = 0; sum += a; sum += b; sum += c; sum += d; return sum; }

**Task**

You have to write a function `int max_of_four(int a, int b, int c, int d)`

which reads four arguments and returns the greatest of them. += : Add and assignment operator. It adds the right operand to the left operand and assigns the result to the left operand. a += b is equivalent to a = a + b;

**Input Format**

Input will contain four integers - , one in each line.

**Output Format**.

Print the greatest of the four integers.

Note: I/O will be automatically handled.

**Sample Input**

```
3
4
6
5
```

**Sample Output**

```
6
```

### Solution in c

**Approach 1**.

```
#include <stdio.h>
/*
Add `int max_of_four(int a, int b, int c, int d)` here.
*/
int main() {
int a,b,c,d;
scanf("%d %d %d %d",&a,&b,&c,&d);
if(a>b && a>c && a>d)
printf("%d",a);
else if(b>c && b>d)
printf("%d",b);
else if(c>d)
printf("%d",c);
else
printf("%d",d);
return 0;
}
```

**Approach 2**.

```
#include <stdio.h>
int max_of_four(int a, int b, int c, int d)
{
int max = a;
if(b > max)
max = b;
if(c > max)
max = c;
if(d > max)
max = d;
return max;
}
int main() {
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
int ans = max_of_four(a, b, c, d);
printf("%d", ans);
return 0;
}
```

**Approach 3**.

```
#include <stdio.h>
//int max_of_four(int a, int b, int c, int d)
int main() {
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
int ans = max_of_four(a, b, c, d);
printf("%d", ans);
return 0;
}
int max_of_four(int a,int b,int c,int d)
{
if(a>b&&a>c&&a>d)
return a;
else if(c>a&&c>b&&c>d)
return c;
else if(b>a&&b>c&&b>d)
return b;
else
return d;
}
```