#include"stdio.h"
main()
{ int i;
float sum;
for(i=1,sum=0;i<=20;i++)
{sum+=(float)(i)/(++i);}
printf("%d",sum);
}这个是求1/2 2/3 3/4 。。。。。的和的题。 请问错在哪 啊??? 谢谢了
for(i=1,sum=0;i<=20;i++)
{sum+=(float)(i)/(++i);} 上面所写的程序是不能实现题目要求的结果的; 原因在于 i++ 和 ++i; i已经在循环体中加1,但是循环中同时也将i做为循环步长,也就是说,每循环一次,i事实上是被加了2。 因此,上面的程序事实上就是实现如下的式子: 1/2+3/4+5/6+7/8+9/10+11/12+13/14+15/16+17/18+19/20 您可以使用下面的程序来验证一下是否真的如此: for(i=1,sum=0;i<=20;i++) { printf("%d",i); sum+=(float)(i)/(++i); printf("/%d\n",i); }