满意答案
qq691203459
2013.06.07
采纳率:53% 等级:12
已帮助:5762人
思路:写一个函数,计算分子分母的最大公约数,分子分母同除以最大公约数即可。
最大公约数的算法有很多,最主流的是辗转相除法,代码如下:
void main()
{
int a,b,c;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
if(a
{c=a;a=b;b=c;}
while(c=a%b)
{a=b;b=c;}
printf("最大公约数为:%d\n",b);
}
在此,给出另一种算法,同时顺便解决最间分式问题,代码如下:
#include "stdafx.h"
#include
void main()
{
int a,b,i;
int x,y;
printf("请输入分子与分母:");
scanf("%d%d",&a,&b);
x=a; y=b;//备份分子、分母
if(a
i=1;
while(a*i%b) i++;//当a*i%b==0时,a*i为最小公倍数
printf("最简分分式为%d/%d \n",x*i/b,y*i/b);
}
//两个数的积等于最大公约数与最小公倍数的积,故此,最大公约数=a*b/(a*i)=b/i
16分享举报