//注意用gets(a)是 scanf("%d",&tn);后用//getchar()时WA无语
View Code
#include<stdio.h>
#include<math.h>
int gcd(int max,int min)
{
if(min==0)return max;
else gcd(min,max%min);
}
int main()
{
int tn;
char a[19];
scanf("%d",&tn);
while(tn--)
{
scanf("%s",&a);//注意用gets(a)是 scanf("%d",&tn);后用//getchar()时WA无语
int i,j;
int fz=0,fm=1,fzx=0,fmx=0;
bool buxun=0;
int buge=0;
for(i=2;a[i];i++)
{
if(buxun==0)
{
for(j=i;a[j]!='('&&a[j]!=0;j++)
{
fz=fz*10+a[j]-'0';
fm=fm*10;
buge++;
}
i=j-1;
buxun=1;
}
if(a[i]=='('||a[i]==')')
{
for(j=i+1;a[j]!=')';j++)
{
fzx=fzx*10+a[j]-'0';
fmx=fmx*10+9;
}
fmx=fmx*fm;
i=j;
}
}
if(fmx==0)fmx=fm;
fzx=fzx+fz*(fmx/fm);
int max=gcd(fmx,fzx);
fzx=fzx/max;
fmx=fmx/max;
printf("%d/%d\n",fzx,fmx);
}
return 0;
}