Problem D: 分数减法——结构体
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 541 Solved: 417
[ Submit][ Status][ Web Board]
Description
分数可以看成是由字符'/'分割两个整数构成,可以用结构体类型表示。请用结构体类型变量计算两个分数的差。
注意:不考虑约分,只考虑大数减小数,分母相同的情况。
Input
两行,每行一个分数。
Output
两个分数的差。
Sample Input
2/7
1/7
Sample Output
1/7#include<iostream>
#include<cstdio>
#include<cmath>
using
namespace
std;
struct
fenshu
{
int
above,below;
char
line;
};
int
bei(
int
a,
int
b)
{
int
i=(a>=b)?a:b;
for
(i;i<=a*b;i++)
{
if
(i%a==0&&i%b==0){
break
;}
}
return
i;
}
void
sub(fenshu m,fenshu n)
{
int
s=bei(m.below,n.below);
m.above*=s/m.below;
n.above*=s/n.below;
cout<<
fabs
(m.above-n.above)<<
"/"
<<s<<endl;
}
int
main()
{
fenshu a,b;
void
sub(fenshu,fenshu);
cin>>a.above>>a.line>>a.below;
cin>>b.above>>b.line>>b.below;
sub(a,b);
return
0;
}