化简分数的程序出错
输入分数 如7/9 判断是否可约 然后输出最贱形式 我的程序如下 但是 当输入的是一个最简形式时 如 4/5 总是多输出一行 0/0 百思不得其解 求高手解答!!#include<stdio.h>
int max(int a,int b)
{
int c;
if(a>b)
c=a;
else
c=b;
}
int min(int a,int b)
{
int c;
if(a>b)
c=b;
else
c=a;
}
int judge(int z,int m)
{
int a,b,c;
a=max(z,m);
b=min(z,m);
c=a%b;
while(c>1)
c=judge(b,c);
return c;
}
int gcd(int z,int m)
{
int a,b,c,d;
a=max(z,m);
b=min(z,m);
c=a%b;
if(c==0)
d=b;
else
d=gcd(b,c);
return d;
}
int main()
{
int z,m,c,d;
scanf("%d/%d",&z,&m);
c=judge(z,m);
printf("%d\n",c);
if(c==1)
printf("%d/%d\n",z,m);
else
d=gcd(z,m);
printf("%d/%d\n",z/d,m/d);
}