C语言:使用函数求余弦函数的近似值:输入精度e,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数 funcos(e,x)求余弦函数的近似值。

求余弦公式:cos=\frac{x^{0}}{0!}-\frac{x^{2}}{2!}+\frac{x^{4}}{4!}-\frac{x^{6}}{6!}+...

运行结果:

C语言代码如下:

#include <stdio.h>
#include <math.h>

double fn(int n);
double funcos(double e,double x); 

int main()
{
	double e,x;
	printf("请输入精度e,值x:"); 
	scanf("%lf%lf",&e,&x);
	printf("\nCosx = %lf",funcos(e,x));
	return 0;
}

double fn(int n)   //阶层计算
{
	double sum=1;
	int i;
	for(i=2;i<=n;i++)
		sum=sum*i;
	return sum;
}

double funcos(double e,double x)  //求余弦函数的近似值 
{
	double item=1;   //每一项的值 
	int flag=1,i=2;   //flag用于变正负号,i用于循环 
	double sum=1;     //近似值,并把第一项的值赋给sum 
	while(fabs(item)>=e)  //最后一项绝对值不小于e 
	{
		flag=-flag;  //变号 
		item=flag*1.0*pow(x,i)/fn(i);  //具体一项的计算 
		sum=sum+item;   //依次把每一项值赋给sum 
		i=i+2;   //循环次数每次跳两个 
		printf("%lf ",item);
	}
	return sum;
}

注意:funcos函数的while循环里面是先算出每一项的值item,然后再加到sum里面,所以最后一项也是加到了sum里面的。因此退出循环后不需要再把最后一项item加到sum,不然就加重复了。

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值