编写一个 C 程序,使用 while 循环将任何分数减少到最少项
将分数减少到最低项意味着除了1之外没有任何数字可以被平均分为分子和分母。
例如,24/4是一个分数,这个分数的最低项是6,或者12/16是一个分数,最低项是3/4。
现在让我们编写ac程序来将分数减少到它们的最低项。
示例1
#include输出结果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; }
enter the fraction by using / operator:12/24 lowest representation of fraction:1/2
示例
//减少分数 #include输出结果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; }
Enter the value for num1 /num2:28/32 Final fraction 7/8