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
6Solution 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 :)
1 Comments
Functions in C – Hacker Rank Solution
ReplyDeletehttps://www.codeworld19.com/functions-in-c-hacker-rank-solution/