改成这样
```c
#include <bits/stdc++.h>
using namespace std;
int a,b,am=0,az=0;
int gcd(int a,int b){//最大公因数
if(b==0) return a;
else return gcd(b,a%b);
}
int lcm(int a,int b){//最小公倍数
return a/gcd(a,b)*b;
}
void pls(int m,int z){//分数加法
if(am==0 && az==0){
am=m;
az=z;
for(int i=2;i<=min(am,az);i++){//约分
if(am%i==0 && az%i==0){
am/=i;
az/=i;
}
}
return;
}
int l=lcm(am,m);
z*=(l/m);
az*=(l/am);
am=l;
az+=z;
for(int i=2;i<=min(am,az);i++){//约分
if(am%i==0 && az%i==0){
am/=i;
az/=i;
}
}
}
void mns(int m,int z){//分数减法
int l=lcm(am,m);
z*=(l/m);
az*=(l/am);
am=l;
az-=z;
for(int i=2;i<=min(am,az);i++){//约分
if(am%i==0 && az%i==0){
am/=i;
az/=i;
}
}
}
int main(){
int z,m;
char c,d;
cin>>z>>d>>m;
pls(m,z);
while(cin>>c>>z>>d>>m){
if(c=='+') pls(m,z);
else mns(m,z);
}
if(am==1) cout<<az;
else cout<<az/gcd(abs(az),abs(am))<<"/"<<am/gcd(abs(az),abs(am));
return 0;
}
```
by lij123 @ 2024-04-21 08:34:37
@[DougNo1](/user/915921)
by lij123 @ 2024-04-21 08:35:10
@[lij123](/user/1037981) AC了,谢谢!
by DougNo1 @ 2024-04-21 14:12:10