湖南科技大学ACM1735 分数运算

来源:互联网 发布:java学生管理系统源码 编辑:程序博客网 时间:2024/05/02 02:28
#include<stdio.h>
#include<math.h>
int gongyueshu(int a,int b)
{
int t;
a=abs(a);
b=abs(b);
if(a>b)
{
t=a;
a=b;
b=t;
}
int i,max;
max=1;
for(i=1;i<=a;i++)
if(a%i==0&&b%i==0)
{
if(max<i)
max=i;
}
return max;
}
int main()
{
int a,b,c,d,t;
char e;
int n;
scanf("%d",&n);
while(n--)
{
scanf("%d %d %d %d %c",&a,&b,&c,&d,&e);
if(e=='-'||e=='+')
{
int f=0,l=0,m=0,k=0;
k=(b*d)/gongyueshu(b,d);
l=a*(d/gongyueshu(b,d));
m=c*(b/gongyueshu(b,d));
if(e=='-')
f=l-m;
if(e=='+')
f=l+m;
if(f%k==0)
printf("%d/%d%c%d/%d=%d\n",a,b,e,c,d,f/k);
else
{
int y;
y=gongyueshu(f,k);
printf("%d/%d%c%d/%d=%d/%d\n",a,b,e,c,d,f/y,k/y);
}
}
if(e=='*'||e=='/')
{
int l=0,m=0;
if(e=='*')
{ l=a*c;
m=b*d;
}
if(e=='/')
{
l=a*d;
m=b*c;
}
if(l%m==0)
printf("%d/%d%c%d/%d=%d\n",a,b,e,c,d,l/m);
else
{
int y=gongyueshu(l,m);
printf("%d/%d%c%d/%d=%d/%d\n",a,b,e,c,d,l/y,m/y);
}
}
}
return 0;
}


0 0
原创粉丝点击