求1-1/2+1/3.。。1/n的和,我感觉我i没写错啊 输出答案是错的

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

```c++


#include
#include
int main()
{ int i,n;
 float k=0;
 while(scanf("%d",&n)!=EOF)
 { for(i=1;i<=n;i++)
   { k=k+pow(-1,i-1)/i;
   }printf("%.5f",k);
 }

  return 0;
}

```

每次输入的值,然后k要重新赋值为0呀,k=0放while循环里边,不然你这个k不一直是累加的么

 
#include<stdio.h>
#include<math.h>
int main()
{ int i,n;
 float k=0;
 while(scanf("%d",&n)!=EOF)
 {
 k=0;
  for(i=1;i<=n;i++)
   {
    k=k+pow(-1,i-1)/i;
   }printf("%.5f",k);
 }
 
  return 0;

}