两个分数相加。
输入两个分数,例如3/4+1/2,输出3/4+1/2=5/4。
运行程序时,如下图所示:
输入样例1:
1/6+1/2
输出样例2:
1/6+1/2=2/3
#include<stdio.h>
int gcd(int a,int b) //求最大公约数(Greatest Common Divisor)
{
if(b==0)
return a;
else
return gcd(b,a%b);
}
int main()
{
int a1,a2,b1,b2,c1,c2;
scanf("%d/%d+%d/%d",&a1,&a2,&b1,&b2); //读入两个分数
float c=a1/a2+b1/b2; //定义一个新分数
c2=a2*b2; //进行通分
c1=c2/a2*a1+c2/b2*b1;
int t=gcd(c1,c2); //用最大公约数t进行约分得到最简式
c1/=t;
c2/=t;
printf("%d/%d+%d/%d=%d/%d",a1,a2,b1,b2,c1,c2);
}