codescracker
c

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:

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;
    printf("\nAddition = %d", res);
    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:

four basic mathematical operation in c

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

c program addition subtraction multiplication division

Main Steps used in Above Program

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

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:

c program perform mathematical operation

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;
    printf("\nAddition = %.2f", res);
    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:

addition subtraction in c

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 Add(float, float);
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 = Add(num1, num2);
    printf("\nAddition = %.2f", res);
    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;
}
float Add(float a, float b)
{
    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;
}

If you will run the above program, this works same as previous program works in this article. To learn more about function, refer to Function in C.

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:

c program perform calculation

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:

mathematical operation based on user choice

To learn more about if or else if statement, refer to if-else in C.

Same Program in Other Languages

C Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker