Computer >> Computer tutorials >  >> Programming >> C programming

Write a C program to reduce any fraction to least terms using while loop


Reducing the fraction to the lowest terms means that there is no number, except 1, that can be divided evenly into both the numerator and the denominator.

For example, 24/4 is a fraction, the lowest term for this fraction is 6, or 12/16 is a fraction the lowest term is 3/4.

Now let’s write a c program to reduce the fraction into their lowest terms.

Example 1

#include<stdio.h>
int main(){
   int x,y,mod,numerat,denomi,lessnumert,lessdenomi;
   printf("enter the fraction by using / operator:");
   scanf("%d/%d", &x,&y);
   numerat=x;
   denomi=y;
   switch(y){
      case 0:printf("no zero's in denominator\n");
      break;
   }
   while(mod!=0){
      mod= x % y;
      x=y;
      y=mod;
   }
   lessnumert= numerat/x;
   lessdenomi=denomi/x;
   printf("lowest representation of fraction:%d/%d\n",lessnumert,lessdenomi);
   return 0;
}

Output

enter the fraction by using / operator:12/24
lowest representation of fraction:1/2

Example

//reduce the Fraction
#include <stdio.h>
int main() {
   int num1, num2, GCD;
   printf("Enter the value for num1 /num2:");
   scanf("%d/%d", &num1, &num2);
   if (num1 < num2){
      GCD = num1;
   } else {
      GCD = num2;
   }
   if (num1 == 0 || num2 == 0){
      printf("simplified fraction is %s\n", num1?"Infinity":"0");
   }
   while (GCD > 1) {
      if (num1 % GCD == 0 && num2 % GCD == 0)
         break;
      GCD--;
   }
   printf("Final fraction %d/%d\n", num1 / GCD, num2 / GCD);
   return 0;
}

Output

Enter the value for num1 /num2:28/32
Final fraction 7/8