作业帮 > 综合 > 作业

C语言:输入两个分数,计算它们的和.用a/b+c/d=x/y的形式.源程序

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 11:17:06
C语言:输入两个分数,计算它们的和.用a/b+c/d=x/y的形式.源程序
#include
//求最大公约数方法
int maxCD(int m,int n)
{
int tem;
if(m < n)
{
tem = m;
m = n;
n = tem;
}
while(m % n != 0)
{
tem = m % n;
m = n;
n = tem;
}
return n;
}
void main()
{
int a,b,c,d;
printf("请输入a,b,c,\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
int x = a * d + b * c;
int y = b * d;
if(x == 0)
printf("%d/%d+%d/%d=%d\n",a,b,c,d,0);
else{
//化简
int cd = maxCD(x,y);
x /= cd;
y /= cd;
if(y != 1)
printf("%d/%d+%d/%d=%d/%d\n",a,b,c,d,x,y);
else
printf("%d/%d+%d/%d=%d\n",a,b,c,d,x);
}
}