Computer >> Máy Tính >  >> Lập trình >> lập trình C

Viết một chương trình C để giảm bất kỳ phân số nào thành ít số hạng nhất bằng cách sử dụng vòng lặp while

Giảm phân số đến các số hạng thấp nhất có nghĩa là không có số nào, ngoại trừ 1, có thể chia đều cho cả tử số và mẫu số.

Ví dụ:24/4 là một phân số, số hạng thấp nhất của phân số này là 6 hoặc 12/16 là một phân số mà số hạng thấp nhất là 3/4.

Bây giờ chúng ta hãy viết một chương trình c để giảm phân số thành các số hạng thấp nhất của chúng.

Ví dụ 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;
}

Đầu ra

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

Ví dụ

//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;
}

Đầu ra

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