# 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.

**Task**

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

- Declare variables: two of type int and two of type float.
- Read lines of input from stdin (according to the sequence given in the 'Input Format' section below) and initialize your variables.
- 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;
}
```