S=1+1/2+1/3+........+1/n,求与8最接近S的值及与之对应的n值。

#include <stdio.h>
void main()
{float s,q,p;
int n;
s=0;
n=1;
for(n=1;;n++)
{s=s+1/n;
if(s>8)
q=s;
p=q-1/n;
}
q-8>8-p?printf("s=%f\n",q):printf("s=%f\n",p);
}