一,题目引入:
输入格式:每行数据是一个字符串,格式是“a/b+c/d”或“a/b-c/d”。其中a, b, c, d是一个0-9的整数。b、d不为0。输入数据保证合法。输出格式:对于输入数据的每一行输出两个分数的运算结果。注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数。例如:“1/4-1/2”的结果是-1/4,“1/3-1/3”的结果是0。
二,解题思路:
输入的两个分数是合法的,分母不能为0,首先需要计算两个分母的最小公倍数(算法1),其次再计算出分子的值,最后分子分母进行约分,即找出分子分母的最大公约数(算法2)。
三,参考代码如下:
#include<iostream>
using namespace std;
void func(int a,int b,char ch,int c,int d){//a,c为分子,b,d为分母,ch为运算符号
int e;//b和d的最小公倍数
int f;//分子的计算结果
for(e=1;;e++){
if(e%b==0&&e%d==0){
//cout<<e<<"测试