这是道多项式求和的练习题,可以运行,但是求出来答案不符,求大佬指点

要求:输入为一个正整数;输出为一个实数,保留小数点后六位。
验证例子:输入9,得2.133256。
这个是我自己写的,不知道该怎么改。求大大们指明。
#include<stdio.h>
main()
{
int m,i,j;
double y;
scanf("%d",&m);
j=2*m+1;
for(i=1;i<=j;i+=2)
y+=1/i;
printf("%.6g",y);
}
#include<stdio.h> main() { int m, i, j; double y = 0; //y没初值 scanf("%d", &m); j = 2 * m + 1; for (i = 1; i <= j; i += 2) y += 1.0 / i; printf("%.6g", y); }