c语言,有一个数列是1/2,2/3,3/4,……,求前n项的和。

帮我看一下我错在哪里??运行一直不对
#include<stdio.h>
void main()
{
int n,i;
float sum=0;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
sum+=i/(i+1)
}
printf("%.2f\n",sum);
}
}

加一个强制类型转换,否则进行的是整数运算,得到的结果会一直是0,

程序中还少了一个分号;

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

温馨提示:答案为网友推荐,仅供参考
相似回答