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

这个程序应该怎么改才能满足计算1+1/x+1/xx+1/xxx…… 并且直到最后一项小于10-4为止
#include<stdio.h>
void main()
{
double x,y=0,a=1;
printf("x:");
scanf("%lf",&x);
while(a>=0.0001)
{
a=1/x;
a=a
a;
y+=a;
}
printf("y=%lf\n",y);
}

供参考:

#include<stdio.h>
void main()
{
    double y = 1, a = 1.0, t = 1.0;
    int  x;
    do{
        printf("x:");
        scanf("%d", &x);
    } while (x < 2);
    while (t > 0.0001)
    {
        y += t;
        a *= x;
        t = 1.0 / a;
    } 
    printf("y=%lf\n", y);
}

a的值需要变化呀,while循环里面的第二句没作用,你可以定义一个i,来表示每一个a的分母,可以用math函数写

a=a*a

#include<stdio.h>
void main()
{
double x,y=0,a=0;
int count=0printf("x:");
scanf("%lf",&x);
while(a>=0.0001)
{
a=1/pow(x,count)    //pwo(x,count) 乘方运算,x的count次方
y+=a;
}
printf("y=%lf\n",y);
}

你的第一项没有加,