#include <iostream>
#include <string>
using namespace std;
/*
*要解决几个问题
*输入的问题
*求和的问题
*化简的问题
*/
int Min(int a,int b) {
return (a > b) ? b : a;
}
int main()
{
int Min(int a, int b);
//输入的问题
int a, b, c, d;
char s1, s2,s3;
cin >> a >> s1 >> b;
cin.get(s2);
cin >> c >> s3 >> d;
//求和的问题
int deno = b * d;//分母
int mole = a * d + b *c;//分子
//化简问题
//找分子分母中大的,然后遍历
int factor = 0;
int init = 1;
for (; init <= Min(deno, mole); ++init) {
if (deno % init == 0) {
if (mole % init == 0) {
factor = init;
}
}
}
if (deno / factor == 1) {
cout << mole / factor << endl;
}
else {
cout << mole / factor << "/" << deno / factor << endl;
}
return 0;
}
7-33 有理数加法 (15 分)C++
最新推荐文章于 2022-04-24 02:20:44 发布