计算1+1/x+1/x*x+1/x*x*x…… 并且直到最后一项小于10-4为止

计算1-1/x+1/xx-1/xxx……程序如下
#include<stdio.h>
void main()
{
double x, sum = 1, sum1=1;
int i, n;
printf("Please enter x n:");
scanf("%lf%d", &x, &n);
for(i=1;i<=n;i++)
{
sum1=-sum1/x;
sum+=sum1;
}
printf("sum=%lf \n", sum);
}
可如果是计算1+1/x+1/x
x+1/xxx……
并且直到最后一项小于10-4为止呢

只输入x就可以了,n不需要输入,for循环改成while


#include <stdio.h>
void main()
{
    double x, y;
    double sum = 1.0;
    int flag = 1;
    scanf("%lf", &x);
    y = x;
    while (1 / y >= 1.0e-4)
    {
        sum += flag * 1 / y;
        y = y * x;
        flag = -flag;
    }
    printf("%lf", sum);

}