把
printf("sum =
%f\n", sum);
改成
printf("sum = %f\n", sum);
就应该可以了.
再改两处错误:
把y声明为double型,把已改过的y=y+(int)item;复原为y=y+item;。从整体看y应该是浮点型。
把for(j=1;j<=2*i;j++)改成for(fenmu=j=1;j<=2*i;j++)。你的fenmu在每次计算阶乘时没有重赋初值1。
原来y=y+item中y是int型,如不加(int)老提示你把double赋给了int警告。又看了一下,y应该是浮点型,所以又作了上述修改。