用else if分情况使用公式
#include <stdio.h>
#include <math.h>
void SUM(int n,float x,float sum)
{
if(1.0/(2*n+1)<x) printf("%f",sum);
else if(n%2)
{
sum=sum-1.0/(2*n+1);
SUM(n+1,x,sum);
}
else
{
sum=sum+1.0/(2*n+1);
SUM(n+1,x,sum);
}
}
int main(void) {
void SUM(int n,float x,float sum);
float x,sum;
scanf("%f",&x);
SUM(0,x,0.0);
return 0;
}
用pow
#include <stdio.h>
#include <math.h>
void SUM(int n,float x,float sum)
{
if(1.0/(2*n+1)<x) printf("%f",sum);
else if(n%2)
{
sum=sum+pow(-1,n)/(2*n+1);
SUM(n+1,x,sum);
}
}
int main(void) {
void SUM(int n,float x,float sum);
float x,sum;
scanf("%f",&x);
SUM(0,x,0.0);
return 0;
}