# C Program to Perform Add, Subtract, Multiply and Divide

« Previous Program Next Program »

In this article, we will learn about how to create a program that works on famous four mathematical operation such as add, subtract, multiply and divide in following ways:

• Mathematical operation on integer data only
• Mathematical operation on real data or floating-point value
• Mathematical operation using user-defined function
• Mathematical operation based on user's choice

## Add, Subtract, Multiply and Divide in C

The question is Write a program in C that performs all the four basic mathematical operation such as addition, subtraction, multiplication and division.

Here is the program in C that solves the above question, but only applicable for integer data.

```#include<stdio.h>
#include<conio.h>
int main()
{
int num1, num2, res;
printf("Enter any two number: ");
scanf("%d%d", &num1, &num2);
res = num1+num2;
res = num1-num2;
printf("\nSubtraction = %d", res);
res = num1*num2;
printf("\nMultiplication = %d", res);
res = num1/num2;
printf("\nDivision = %d", res);
getch();
return 0;
}```

The above program was written under Code::Blocks IDE, therefore after successful compile and run, here is the initial output:

Now supply any two number say 90 and 45 as input and press ENTER key to see the following output:

#### Main Steps used in Above Program

Here are some of the main steps used in above program:

• Initialize three variables of integer type say num1, num2, and res
• Variables num1 and num2 will be used to hold the value of first number and second number entered by user at run-time. And the variable res will be used to store the value after performing the operation such as add, subtract, multiply and divide between given two number
• Receive the input from user
• Now initialize the addition result of given two number stored in variables num1 and num2 respectively, to the variable res
• Print the value of res as Addition result of given two number
• Do the same for subtraction, multiplication, and division operation

### Program to Operate on Real Numbers

Now what if user supply any input number that is not a pure integer. Let's suppose that user supplied any input say 9.0 and 4.5, then the above program will not produce the correct result as shown in the output given below:

To solve this problem, here is the modified version of the above program:

```#include<stdio.h>
#include<conio.h>
int main()
{
float num1, num2, res;
printf("Enter any two number: ");
scanf("%f%f", &num1, &num2);
res = num1+num2;
res = num1-num2;
printf("\nSubtraction = %.2f", res);
res = num1*num2;
printf("\nMultiplication = %.2f", res);
res = num1/num2;
printf("\nDivision = %.2f", res);
getch();
return 0;
}```

Here we have changed the data type to float to handle real data or any real number that may include decimal or not. After running the above program, enter any two number say 9.0 and 4.5 and press ENTER key to see the following output:

To receive any floating-point (real number data), use %f as format specifier. Here to print the value of res variable, we have placed .2 between the format specifier say % and f, to print only two digit after decimal.

## Mathematical Operation Program in C using User-defined Function

Here is the program that works same as above program does, but internally this program is programmed using user-defined function. Let's take a look at it:

```#include<stdio.h>
#include<conio.h>
float Sub(float, float);
float Mul(float, float);
float Div(float, float);
int main()
{
float num1, num2, res;
printf("Enter any two number: ");
scanf("%f%f", &num1, &num2);
res = Sub(num1, num2);
printf("\nSubtraction = %.2f", res);
res = Mul(num1, num2);
printf("\nMultiplication = %.2f", res);
res = Div(num1, num2);
printf("\nDivision = %.2f", res);
getch();
return 0;
}
{
return a+b;
}
float Sub(float a, float b)
{
return a-b;
}
float Mul(float a, float b)
{
return a*b;
}
float Div(float a, float b)
{
return a/b;
}```

## Mathematical Operation based on User's Choice

Now here is another version of almost same program as previous programs are, but this time, the program will not automatically operate and print the result of all four mathematical operation on output screen.

Rather, this program will ask from user, what to do, either to find addition or any other three mathematical operation such as subtraction, multiplication, and division. Let's take a look at it:

```#include<stdio.h>
#include<conio.h>
int main()
{
float num1, num2;
char ch;
printf("Enter First Number: ");
scanf("%f", &num1);
printf("Enter Second Number: ");
scanf("%f", &num2);
printf("Enter the Operator (+, -, *, /): ");
scanf(" %c", &ch);
if(ch=='+')
printf("Result = %0.2f", num1+num2);
else if(ch=='-')
printf("Result = %0.2f", num1-num2);
else if(ch=='*')
printf("Result = %0.2f", num1*num2);
else if(ch=='/')
printf("Result = %0.2f", num1/num2);
else
printf("Wrong Operator");
getch();
return 0;
}```

When the above C program is compile and executed, it will produce the following result:

Provide any input say 45 as first number and 14 as second number and press / as (division operator), then press ENTER key to see the output as shown in snapshot given below: