c语言算1+1/2+1/3.....+1/n的值

#include<stdio.h>
int main()
{
int n,i;
double disc=0,j=0;
printf("Input:\nPlease input n: ");
scanf("%d",&n);
printf("Output:");
for(i=1;i<=n;i++)
{
j=1/i;
disc=disc+j;
}
printf("Output:\nS=1/1!+1/2!+...+1/%d!=%.16lf",n,disc);
return 0;
}

求解这个程序哪里不对? 计算结果老是1

两个整数直接用除法是整除,只有一个是浮点数的时候才是真正的除法
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-21
改成1.0/i
1/i永远等于0了本回答被提问者采纳
相似回答
大家正在搜