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

 Live Demo

#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
");       break;    }    while(mod!=0){       mod= x % y;       x=y;       y=mod;    }    lessnumert= numerat/x;    lessdenomi=denomi/x;    printf("lowest representation of fraction:%d/%d
",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
", num1?"Infinity":"0");    }    while (GCD > 1) {       if (num1 % GCD == 0 && num2 % GCD == 0)          break;       GCD--;    }    printf("Final fraction %d/%d
", num1 / GCD, num2 / GCD);    return 0; }

Output

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

Updated on: 05-Mar-2021

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements