求1 - 2/3 + 3/5 - 4/7 + ......49/97的和
C语言等级考试中也有涉及到类似的需求。
二、代码分析
仔细查看功能需求,可以发现这个等式的三个规律:
1.从每一个分式来看,分子是一个等差数列,初始值是1,公差是1;
2.从每一个分式来看,分母也是一个等差数列,初始值也是1,公差是2;
3.每逢第偶数个分式,它的值是一个负数。
据此三条规律,可以大致得出实现的主体思路:必须得有一个循环体,在每一次循环当中,需要做的事情有如下3个:
1.分子按序递增1;
2.分母按序递增2;
3.若当前是第偶数次循环,分式值为负数。
据此思路,C程序代码如下:
运行代码,结果如下:
本示例运算到了49/97。若要继续往后运算,可以修改代码中的 “#define MAX 49”。
您还有更为有效的实现方式吗?欢迎给我留言!
您还有更为有效的实现方式吗?欢迎给我留言!