【有理数加法结构体】2022-1-3
缘由有理数加法C++结构体来解决-编程语言-CSDN问答
struct 分式结构
{//缘由https://ask.csdn.net/questions/7622445?spm=1005.2025.3001.5141int 分子;int 分母;
};
分式结构 分式加法(分式结构 x, 分式结构 xx)
{int gb = 2; 分式结构 加;while ((x.分母 < xx.分母 ? x.分母*gb : xx.分母*gb) % (x.分母 < xx.分母 ? xx.分母 : x.分母))++gb;加.分子 = (x.分母 < xx.分母 ? x.分子*gb : xx.分子*gb);加.分母 = (x.分母 < xx.分母 ? x.分母*gb : xx.分母*gb);加.分子 += (x.分母 < xx.分母 ? xx.分子 : x.分子) * (x.分母 < xx.分母 ? 加.分母 / xx.分母 : 加.分母 / x.分母);if (!加.分子)加.分母 = 加.分子;return 加;
}
分式结构 分式化简(分式结构 x)
{int b = 1, m1 = 0;while (++b <= x.分母)if (x.分子%b == 0 && x.分母%b == 0) m1 = b; else;x.分子 /= m1, x.分母 /= m1;if (!x.分子)x.分母 = x.分子;return x;
}分式结构 a = { 5, 6 }, b = { -1, 2 }, c;c = 分式加法(a, b);std::cout << c.分子 << "/" << c.分母 << std::endl;if (c.分子){c = 分式化简(c);std::cout << c.分子 << "/" << c.分母 << std::endl;}