找错 分数加减法
#include<stdio.h>int fen(int a, int c, int s1, char y) ;
int main()
{
int a, b, c, d, s1 ;
char x, y, z ;
while(scanf("%d%c%d%c%d%c%d", &a,&x,&b,&y,&c,&z,&d)!=EOF)
{
s1 = b*d ;
a = a*d ;
c = c*b ;
fen(a, c, s1, y) ;
}
return 0 ;
}
int fen(int a, int c, int s1, char y)
{
int s, i ;
if(y == '+')
s = a+c ;
else
s = a-c ;
for( i=((s>s1) ? s:s1) ;i > 1 ;i--)
{
if(s%i==0&&s1%i==0)
{
s = s/i ;
s1 = s1/i ;
}
}
if(s == 0||s == s1)
printf("%d\n", s) ;
else
printf("%d/%d\n", s, s1) ;
return 0 ;
}
ACM题目链接地址http://acm.sdut.