#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j;
scanf("%d",&n);
int a,b;
int c,d;
int e,f;
scanf("%d/%d",&a,&b);
for(i=0;i<n-1;i++)
{
scanf("%d/%d",&c,&d);
e=b*d;
f=a*d+c*b;
b=e;
a=f;
for(j=b;j>1;j--)
{
if(a%j==0&&b%j==0)
{
a=a/j;
b=b/j;
}
}
}
for(j=b;j>1;j--)
{
if(a%j==0&&b%j==0)
{
a=a/j;
b=b/j;
}
}
e=fabs(a);
if(e%b==0) printf("%d",a/b);
else if(e>b) printf("%d %d/%d",a/b,e-b*abs(a/b),b);
else printf("%d/%d",a,b);
}
有什么问题吗?实在想不到了
参考这博文:https://blog.csdn.net/m0_61122217/article/details/123673632
试试把int改成long long呢?题目说分子分母在长整型范围内