用 while 循环编写一个 C 程序以将任意分数化简


将分数化简为最低项意味着除了 1 之外,不存在可以同时整除分子和分母的数字。

例如,24/4 是一个分数,该分数的最低项是 6,12/16 是一个分数的最低项是 3/4。

现在让我们编写一个 c 程序将其分数化简为最低项。

示例 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
");       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; }

输出

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

示例

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

输出

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

更新时间: 05-Mar-2021

1K + 次浏览

开启你的 事业

完成课程认证

开始学习
广告
© . All rights reserved.