参照:http://www.cnblogs.com/Yu2012/archive/2011/09/22/2184764.html
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string>
using namespace std;
int gcd(int a,int b)
{
int temp=0;
while(b!=0)
{
temp=a%b; a=b;b=temp;
}
return a;
}
int main()
{
int t;
cin>>t;
while(t--)
{
char st[30];
cin>>st;
int m=1,n=1,zs1=0,zs2=0,len=strlen(st),i;
if(st[2]=='(') n=0;
int k1=1,k2=1,j=0;
for(i=2;i<len;i++)
{
if(st[i]=='(') { j=i; break;}
zs1=zs1*10 + (st[i]-'0'); k1*=10;
}
if(j!=0)
while(st[++j]!=')')
{
zs2= zs2*10 +(st[j]-'0');k2*=10;
}
if(zs2==0) m=0;
if(n==0)
{
k2--;
int kk=gcd(zs2,k2);
cout<<zs2/kk<<"/"<<k2/kk<<endl;
}
if(m==0)
{
int kk=gcd(zs1,k1);
cout<<zs1/kk<<"/"<<k1/kk<<endl;
}
if(m>0&&n>0)
{
k2--;
int sum1=k2*zs1+zs2;
int sum2=k2*k1;
int kk=gcd(sum1,sum2);
cout<<sum1/kk<<"/"<<sum2/kk<<endl;
}
}
return 0;
}