Functions in C - Hackerrank Solution

Functions in C - Hackerrank Solution :

Welcome Back Guys !!
Today in this post we will discuss Functions in C  HAckerrank Practice problem in C programming language.
This problem is set for students to get better knowledge to handle Functions in C.
video solution for problem


Problem Statement For Functions in C hackerrank problem:

 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 - a,b,c,d, 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 Code for Functions in C Hackerrank problem:

 Here we are required to write a function which take for int parameter and returns only one int value. I have used conditional operator to solve this problem . As you can see there is duplication of the code here so We can also create one more function to make our life more simple ;)

Method 1:


#include <stdio.h>

/*
Add `int max_of_four(int a, int b, int c, int d)` here.
*/
int max_of_four(int a,int b, int c, int d)
{
    int max;
    max = a>b?a:b;
    max= c>max?c:max;
    max = d>max?d:max;
    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;
}

Method 2:


#include <stdio.h>

/*
Add `int max_of_four(int a, int b, int c, int d)` here.
*/
int max(int a, int b) {
    return a > b ? a : b;     // i wrote this function to avoid duplication of code.
}

int max_of_four(int a, int b, int c, int d) {
    return max(a, max(b, max(c, 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;
}

Hope This added some valueable knowledge to you.
Please read the code and try to analysis it.
See you next time :)


Post a Comment

1 Comments