用C语言编写一个程序,要求用户输如一个分数,然后将其约分为最简分式

2024-11-16 06:51:21
推荐回答(3个)
回答(1):

此即为求两个数的最大公约数
最大公约数用欧几里得算法

int gcd(int a, int b)
{
if(0 == a%b)
return b;
return gcd(b, a%b);
}
int main()
{
int a,b,c;
scanf("%d %d", &a, &b);
c = gcd(MAX(a,b), MIN(a,b));
printf("%d %d\n", a/c, b/c);
return 0;
}

回答(2):

#include
main(){
int a,b,c,e,d,f,g,m;
scanf("%d%c%d",&a,&c,&b);
c=a%b;
e=a;
d=b;
while(c!=0){
a=b;
b=c;
c=a%b;
}
f=d/b;
g=e/b;
if(b>a){
printf("%d",f);
printf("/");
printf("%d",g);
}else{
printf("%d",g);
printf("/");
printf("%d",f);
}
}

回答(3):

求出分子,分母的最大公约数基本就搞定了