1/8+3/8 1/4-1/2 1/3-1/3
1/2 -1/4 0
#include <stdio.h>
void yuefen(int n,int m)
{
int k=n;
if(n<0)n=-n;
if(n%m==0&&k<0)
{
printf("-%d\n",n/m);
return;
}
else if(n%m==0)
{
printf("%d\n",n/m);
return;
}
if(m%n==0&&k<0)
{
printf("-1/%d\n",m/n);
return;
}
else if(m%n==0)
{
printf("1/%d\n",m/n);
return;
}
if(n<m)
{
for(int i=2;i<=n;i++)
{
if(n%i==0&&m%i==0)
{
n=n/i;
m=m/i;
i=i-1;
}
}
if(k<0)printf("-");
printf("%d/%d\n",n,m);
}
else
{
for(int i=2;i<=m;i++)
{
if(n%i==0&&m%i==0)
{
n=n/i;
m=m/i;
i=i-1;
}
}
if(k<0)printf("-");
printf("%d/%d\n",n,m);
}
}
int main()
{
char ch[8];
int a,b,c,d,n,m;
while(scanf("%s",ch)!=EOF)
{
a=ch[0]-‘0‘;
b=ch[2]-‘0‘;
c=ch[4]-‘0‘;
d=ch[6]-‘0‘;
char oper=ch[3];
if(oper==‘+‘)
{
n=a*d+b*c;
m=b*d;
yuefen(n,m);
}
else
{
n=a*d-b*c;
m=b*d;
yuefen(n,m);
}
}
return 0;
}
原文:http://www.cnblogs.com/dengshiwei/p/3991628.html