先来看一种错误写法:

计算1-1/2+1/3-...+1/n的值_c语言

此时有两处问题:

1.sum返回值应该是个小数,所以用int不对;

2.这个循环是纯加法,不满足题目要求;

改进如下:

计算1-1/2+1/3-...+1/n的值_c语言_02

第一个问题改进后,同实参a来确定sum正负:

计算1-1/2+1/3-...+1/n的值_c语言_03

当然,也可以将+-+-+-+变成(++)-(++):

计算1-1/2+1/3-...+1/n的值_c语言_04

okok搞定了!