用C语言编写一个程序,要求用户输如一个分数,然后将其约分为最简分式
展开全部
此即为求两个数的最大公约数
最大公约数用欧几里得算法
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;
}
最大公约数用欧几里得算法
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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求出分子,分母的最大公约数基本就搞定了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询