Hackerrank Sum and Difference of Two Numbers Solution

# Hackerrank Sum and Difference of Two Numbers Solution

Objective

The fundamental data types in c are int, float and char. Today, we're discussing int and float data types.

The printf() function prints the given statement to the console. The syntax is printf("format string",argument_list);. In the function, if we are using an integer, character, string or float as argument, then in the format string we have to write %d (integer), %c (character), %s (string), %f (float) respectively.

The scanf() function reads the input data from the console. The syntax is scanf("format string",argument_list);. For ex: The scanf("%d",&number) statement reads integer number from the console and stores the given value in variable .

To input two integers separated by a space on a single line, the command is scanf("%d %d", &n, &m), where  and  are the two integers.

Your task is to take two numbers of int data type, two numbers of float data type as input and output their sum:

1. Declare  variables: two of type int and two of type float.
2. Read  lines of input from stdin (according to the sequence given in the 'Input Format' section below) and initialize your  variables.
3. Use the  and  operator to perform the following operations:
• Print the sum and difference of two int variable on a new line.
• Print the sum and difference of two float variable rounded to one decimal place on a new line.

Input Format.

The first line contains two integers.
The second line contains two floating point numbers.

Constraints.

• integer variables
• float variables

Output Format.

Print the sum and difference of both integers separated by a space on the first line, and the sum and difference of both float (scaled to  decimal place) separated by a space on the second line.

Sample Input.

10 4
4.0 2.0


Sample Output.

14 6
6.0 2.0


Explanation.

When we sum the integers  and , we get the integer . When we subtract the second number  from the first number , we get  as their difference.
When we sum the floating-point numbers  and , we get . When we subtract the second number  from the first number , we get  as their difference.

### Solution in c

Approach 1.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main(){
int i1, i2;
float f1, f2;
scanf("%d %d", &i1, &i2);
scanf("%f %f", &f1, &f2);

printf("%d %d\n%.1f %.1f", i1+i2, i1-i2, f1+f2, f1-f2);

return 0;
}

Approach 2.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main()
{
int a, b;
float c, d;
scanf("%d %d", &a, &b);
scanf("%f %f", &c, &d);
printf("%d %d\n", a + b, a - b);
printf("%.1f %.1f\n", c + d, c - d);
return 0;
}

Approach 3.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main()
{
int x =0, y = 0;
float xf = 0, yf = 0;
scanf("%d %d", &x, &y);
scanf("%f %f", &xf, &yf);
printf("%d %d\n", x+y,x-y);
printf("%.1f %.1f", xf+yf,xf-yf);

return 0;
}