题目要求:
使用函数求余弦函数的近似值:输入精度e,用下图公式求cosx的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。试编写相应程序。
函数接口定义:
裁判测试程序样例:
程序要求:
解答:
基本思路:
上述公式是一个求和公式,具体可以拆解为3个部分1️⃣求分子:x的i次方。2️⃣求分母:i的阶乘。3️⃣加减求和:每一项的是正还是负。
下面我将分成3步写这个自定义函数。
首先,先定义一个变量l,用于后面的操作。
1️⃣求分子:x的i次方。
要求x的i次方,我们可以利用for循环或pow函数来实现。
for循环:
int j = 1;(这里定义j用来存放x的i次方)
for(l= 1;l <= i;l++)
{
j *= x;
}
到这里就结束了,是不是很简单。可能会有同学问:为什么非要定义一个j呢?直接在x上累乘不就行了(即x *= x)?这是因为如果这样操作,从第2次循环开始,每一次就不再是乘以x的一次方。解释如下:
第一次循环:
x = x*x,所以第一次循环结束x的值为x的2次方。
第二次循环:
x=x*x * x*x,所以第二次循环结束x的值为x的4次方。
接着循环ÿ