我正在编写一个程序,将分数降低到最低项.这是我的计划:
#include <stdio.h>
int main(){
int m,x,n,gcd;
printf("Enter a fraction: ");
scanf("%d/%d",&n,&m);
if(m==0)printf("Error");
else
for(;;){
x=m%n;
if(x==0){
gcd=n;
m/=gcd;
n/=gcd;
printf("In lowest terms: %d/%d",n,m);
}else
m=n;
n=x;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我使用Euclid的算法来计算GCD.执行时,它会报告
浮点异常(核心转储)
我的代码出了什么问题?