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

 我来答
BattleMacross
2011-03-28 · TA获得超过400个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:110万
展开全部
#include <stdio.h>
//求最大公约数方法
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);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式