P1017 分数加法

题目描述

给定两个数的分子和分母,求两个分数的和。

输入描述

多组输入,每组输入包含 44 个正整数 a, b, c, da,b,c,d (0 < a, b, c, d < 10000<a,b,c,d<1000),依次代表第一个数的分子,第一个数的分母,第二个数的分子,第二个数的分母

输出描述

对于每组数据,输出的两个分数的和的最简分数形式。(如果分子是分母的倍数,则输出形式为 n/1 )

样例输入

1 2 1 2 1 4 1 2 

样例输出

1/1 3/4

这题还是比较简单的,按照小学计算分数的方法一步一步来,最后注意要约分。

#include<stdio.h>
int f(int x,int y)//最大公约数 
{
	int z;
	int r;
	if(x < y)
	{
	  z = x;
	  x = y;
	  y = z;
	}
	while(y != 0)
	{
		r = x%y;
		x = y;
		y = r;
	}
	return x;
 } 
 int main()
 {
 	int t, a, b, c, d, m, n;
	while(scanf("%d%d%d%d", &a, &b, &c, &d)!=EOF)
	{
		m=a*d+c*b;
		n=b*d;
		t=f(m,n);
		m=m/t;
		n=n/t;
		if(m%n==0)
		  printf("%d/1\n", m, n);
		else
		  printf("%d/%d\n", m, n); 
	 } 
	 return 0;
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值