Program to Perform Arithmetic Operations Without Using Arithmetic Operators in C

Program to Perform Arithmetic Operations Without Using Arithmetic Operators in C

Question

It is one of most frequently asked interview question to perform any arithmetic operations(add,subtract,multiply,divide) without using arithmetic operators.

Logic

  • The logic is simple. We have to use loop and manipulate the value of  one variable with value of another variable. This will help us calculate the addition and subtraction.
  • Nested loops can help us to perform Division and multiplication. We perform same addition/ subtraction operation more number of times to get the result.

Program:

#include <stdio.h>
 //Compiler version gcc 6.3.0
 //Program to perform arithmetic operations
 //Without  arithmetic operator

 int main()
 {
 	int a,b,c,i=0,j=0,t=0,temp; //intialization for using in below programs
 	int n; // initialize for switch
 	printf("Enter First Value\n");
	scanf("%d",&a); // read value 1
	printf("Enter Second Value\n");
	scanf("%d",&b);// read value 2
	printf("Choose Operation:\n");
	printf("1.ADD\n2.SUBTRACT\n3.MULTIPLE\n4.DIVIDE\n");
	scanf("%d",&n);// read integer for switch case
	/*
	Before move to perform operation, we should change
	the big value to variable a and small value to variable b.
	Its minimize the execution time.
	*/
	//Swapping function
	if(a<b)
 	{
 		t=b;
 		b=a;
 		a=t;
 	}
 		switch(n)
 		{
 			case 1: //for addition operation
 			while(b>i) // check b(low value)  with i
           {

 		    a++; //increment once
 		    i++; //increment i
 	       } // the loop execute until the b equals to i and a was incremented.
 	       //now the value of a is equal to a+b
 	        printf("%d",a);
 	        break;
 	        case 2://for subtraction operation
 	        while(b>i) // check b(low value)  with i
 	        {
         		a--;//decrement once
         		i++; //increment i
         	}// the loop execute until the b equals to i and a was incremented.
 	       //now the value of a is equal to a-b
         	printf("%d",a);
         	break;
         	case 3://for multiplication operation
         	temp=a; //in that time we use same addition loop with a times.so we use nested loop.
         	i=1;
         	while(b>i)
         	{
         		while(temp>j)
         		{
         			a++;
         			j++;
         		}
         		j=0;
         	i++;
         	}
         	printf("%d",a);
         	break;
         	case 4: //for division operation
         	i=0;c=0;
         	t=b; //in that time we use same subtraction loop with a times.so we use nested loop.
         	while(a>t)
			{
			while(b>i)
 	        {
         		a--;
         		i++;
         	}
         	i=0;
			c++; //we count the number of times subtracted
			}
         	printf("%d",c+1); //print the last count of subtraction value
         	break;
         	break;
 		}
 	return 0;
 }

Keywords:

Program to Perform Arithmetic Operations without Arithmetic Operator

Program to Perform Addition Operation without Arithmetic Operator

Program to Perform Subtraction Operation without Arithmetic Operators

Program to Perform Multiplication Operation without Arithmetic Operators

Program to Perform Division Operation without Arithmetic Operators

Karthi Thangavel

Amazed by computer science and engineering, he is a technology lover who enjoys being a part of a web and software development. Off from work, you can find him in love with movies, food, and friends.