c语言用函数求和的问题

img

img

img

!

img

不知道为什么答案一直是1.4多,感觉逻辑没有问题,不知道哪里出错了,求帮助

img

img

你这代码问题多了去了
1.z是int型,虽然你函数返回值是float,输出也是按%f来的,但是这样写法非常不规范,极容易出问题,尽量改掉
2.sum是double型,你却按float型返回,损失了精度
3.循环条件a<n不对呀,分子是n的阶乘,你判断分子小于n,那少加了好多项啊,保留b做判断就足够了,不要判断a

main函数中z是int类型呀,换成float

函数返回float类型,可main里却用int类型接收,丢掉小数部分了啊

img