求:1+1/2+1/3+1/4 运行结果不是预期

#include

double fun(int n)
{
if(n==1) return 1;
else return fun(n-1)+1/n;
}

int main()
{
printf("%f",fun(4));
return 0;
}

1/n 两个int计算结果还是int 一直都是0

#include
void main()
{
int sign=1;
float deno=2.0,sum=1.0,term;
while(deno<=100)
{

sign=-sign;

term=sign/deno;

sum=sum+term;

deno=deno+1;
}
printf("%f\n",sum);......
答案就在这里:求1-1/2+1/3-1/4+...+1/99-1/100的结果
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

else return fun(n-1)+1.0/n;