閱讀本書C Programming A Modern Approach。我有一個練習,我應該把分數降到最低。將分數降至最低
,提交給我的提示,那是我第一次可以計算GCD分子和分母,然後除以在GCD分子和分母。
這裏是我的程序:
#include <stdio.h>
int main(void)
{
int frac1;
int frac2;
int gcd;
int a;
int b;
int c;
printf("Enter a fraction: ");
scanf("%d/%d", &frac1, &frac2);
b = frac1;
a = frac2;
//Calculate GCD
c = a % b;
while(gcd > 0)
{
a = b;
b = c;
c = a % b;
if(c <= 0)
{
gcd = b;
break;
}
}
//Divide the numerator and denominator with the GCD
frac1 /= gcd;
frac2 /= gcd;
printf("In lowest terms %d/%d\n", frac1, frac2);
return 0;
}
當我給6/12作爲輸入,我收到以下錯誤信息:浮點異常
我如何計算的分子和分母的GCD分別?
@SamiKuhmonen:謝謝:) – Bryan