有部分结果错误,不知道为什么

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果
#include
int main()
{ int k;int i;
 float n,sum;
 while(scanf("%d",&k)!=EOF)
  { 
   for(n=0,i=1;;i++)
    { n=n+1.0/i;
      
      if(n>k)
       {
         printf("%d\n",i);
          break;}
    }
  }
    return 0;
}

img


我的代码运行不出来结果,不知道为什么啊


#include<stdio.h>
int main()
{
    int k=-1;int i;
    double n, sum;
    while (k<0||k>15)
    {
        scanf_s("%d", &k);
    }
    for (n = 0, i = 1;;i++)
    {
        n = n + 1.0 / i;
        if (n > k)
        {
            printf("%d\n", i);
            break;
        }
    }
    return 0;
}