c语言初学者,求大神帮忙

#include

int main()
{
int i,j,a;
float pi,k=1;
for(i=1;i<=100;i++)
{
a=i%2;
if(a==0)
{
j=i/(i+1);
}
else
{
j=(i+1)/i;
}
k=k*j;
pi=2*k;
}
printf("pi=%f",pi);
}

 #include<stdio.h>

int main()
{
    int i,a;
    float pi=0.0,j=0.0,k=1;
    for(i=1;i<=100;i++)
    {
        a=i%2;
        if(a==0)
        {
        j=i/(float)(i+1);
        }
        else
        {
        j=(i+1)/(float)i;
        }
        k=k*j;
        pi=2*k;
    }
    printf("pi=%f",pi);
}

pi=3.126079

出现了这个问题,求大神帮忙图片

float pi
->
float pi = 0.0;

输出0?把所有得数都定义为浮点型,循环跳出条件为i<100.1