求π的这个,我写的程序哪里有问题啊啊

img


下面左边是我的输出结果,右边是正确的输出结果为啥我的到1e-9以后就不对了呢

img


我的代码

#include<stdio.h>
int main()
{
double a,sum,sum1,c,d;
int n,x,y;
printf("accuracy:");
scanf("%lf",&a);
for(;a>0;)
{
for(n=2,sum=1,sum1=0;2sum-2sum1>=a;n=n+2)
{
x=nn;
y=(n-1)
(n+1);
c=(double)x;
d=(double)y;
sum1=sum;
sum=sum*(c/d);
}
printf("pi=%.4lf,n=%d\n",2*sum,n-3);
printf("accuracy:");
scanf("%lf",&a);
}
printf("Bye!\n");
return 0;
}

long long n, x, y;