这个代码的提交结果是答案错误,可是我运行的答案明明是对的

程序代码:#include <stdio.h>
double f( double a, double b )
{
double sum = 0;
if( a < 0 )
sum = a + b;
else if( a == 0 )
sum = b - 1;
else
{
for( ; a>=0; )
{
sum += a/b;
b += a;
a = a-1;
}
sum += a+b;
}
return sum;
}
int main( void )
{
for( double x,y; scanf("%lf%lf",&x,&y)==2; )
printf( "%.2f\n", f(x,y) );
}
程序代码:#include <stdio.h>
double f( double x, double y )
{
return x<0 ? x+y : f(x-1,x+y)+x/y;
}
int main( void )
{
for( double x,y; scanf("%lf%lf",&x,&y)==2; )
printf( "%.2f\n", f(x,y) );
}