求两分数相加,输出结果。
求两分数相加,输出结果。
题目有多组测试数据,直到文件尾。
每组测试数据需要输入4个整数:
nume1, deno1为第一个数的分子和分母,
nume2, deno2为第二个数的分子和分母。
两分数相加的结果。每个测试数据占一行。
输出格式为“nume3/deno3”,该格式对结果为整数的情况除外。
分母为0的情况不考虑。
求最大公约数并约分,并注意分母为 1 时只需要输出分子。
#include<iostream> using namespace std; int main() { int a1,a2,b1,b2,m,n; while(cin>>a1>>b1>>a2>>b2) { if(b1==0||b2==0) break; int i,a,b; a=a1*b2+a2*b1; b=b1*b2; if(a>b){m=a;n=b;} else {m=b;n=a;} for(i=n;i>=1;i--) if(m%i==0&&n%i==0) break; if(i==0) i++; a=a/i; b=b/i; if(b==1) cout<<a<<endl; else cout<<a<<‘/‘<<b<<endl; } return 0; }
原文:http://blog.csdn.net/rememberautumn/article/details/20212681