成都创新互联网站制作重庆分公司

c语言中求余弦的函数代码,c语言中取余数

C语言中 COS()的用法

cos()是库函数,在头文件math.h中,原型是double cos(double x);,其中x要用弧度表示。如求30°的余弦值可用下列代码实现:

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、确山网络推广、小程序定制开发、确山网络营销、确山企业策划、确山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供确山建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "math.h"

int main(void){

printf("cos30°= %.10f\n",cos(30*3.1415926535897932/180));

return 0;

}

用c语言程序编写用下面中间公式方法求正弦和余弦的方法 并定义为函数 在main里面调用

#include stdio.h

#include math.h

#define P 3.1415927

double sinx(double x) {

double eps = 1E-8,delta = x;

double sgn = -1,sin = x,n = 1;

double nator = 1;

while(fabs(delta)  eps) {

nator *= (n + 1.0)*(n + 2.0);

delta *= x*x/nator;

sin += sgn*delta;

sgn = -sgn;

n += 2;

}

return sin;

}

double cosx(double x) {

double eps = 1E-8,delta = 1;

double sgn = -1,cos = 1,n = 1;

double nator = 1;

while(fabs(delta)  eps) {

nator *= n*(n + 1.0);

delta *= x*x/nator;

cos = cos + sgn*delta;

sgn = -sgn;

n += 2;

}

return cos;

}

int main() {

double alpha;

int T;

printf("测试次数:");

scanf("%d",T);

while(T--) {

printf("请输入度数:");

scanf("%lf",alpha);

alpha *= P/180;

printf("msin(%lf) = %lf\n",alpha,sinx(alpha));

printf("sin(%lf) = %lf\n",alpha,sin(alpha));//调用系统函数用于对比

printf("mcos(%lf) = %lf\n",alpha,cosx(alpha));

printf("cos(%lf) = %lf\n",alpha,cos(alpha));//调用系统函数用于对比

}

return 0;

}

用c语言编写cosx函数

cosx函数

#includestdio.h

#includemath.h

int main()

{

int n=0;

double x,sum=0;

printf("please enter x:");

scanf("%lf",x);//

double cosx(double x,int n);

do

{

sum=sum+cosx(x,n);

n=n+1;

}

while(fabs(cosx(x,n))1e-8);

printf("%9.8f\n",sum);

return 0;

}

double cosx(double x,int n)

{

double p,q;//

p=pow(x,2*n);

double fact(int n);//

q=fact(2*n);

if(n%2)

return(-p/q);

else

return(p/q);

}

double fact(int n)//

{

double ans=1; int i;

if(n=1)

return 1;

for(i=1;i=n; ++i)

ans*=i;

return ans;

}

cosx函数即反余弦函数

函数y=cosx(x∈[0,π])的反函数叫做反余弦函数,

记作y=arccosx(x∈[-1,1]).

C语言(C++) 自己编写求余弦值的程序。

#includestdio.h

#define

pi

3.14159265

//pi定义

double

mypow(double,int);

//自定义指数函数

int

mult(int);

//阶乘函数

double

mysin(double);

//sin函数

double

mycos(double);

//cos函数

double

mypow(double

x,int

n)

{

int

i;

double

result=1;

if(n0)

for(i=1;i=n;i++)

result*=x;

return

result;

}

int

mult(int

n)

{

int

i;

int

result=1;

if(n0)

for(i=1;i=n;i++)

result*=i;

return

result;

}

double

mysin(double

x)

{

int

flag=1;//标志正负

int

i;

double

result=0;

while(x=2*pi)

x-=2*pi;

while(x0)

x+=2*pi;

if(xpi)

{

x=2*pi-x;

flag=-flag;

}

if(xpi/2)

//将任意弧度转化到[0,pi/2]

x=pi-x;

if(xpi/4)

//[pi/4,pi/2]调用cosX在[0,pi/4]求解,减少误差

return

flag*mycos(pi/2-x);

for(i=0;i10;i++)//taylor展开

{

result+=((double)1)*mypow(x,2*i+1)*mypow(-1,i)/mult(2*i+1);

}

return

flag*result;

}

double

mycos(double

x)//与sin函数过程类似

{

int

flag=1;

int

i;

double

result=0;

while(x=2*pi)

x-=2*pi;

while(x0)

x+=2*pi;

if(x1.5*pi)

x=2*pi-x;

if(xpi/2

x=pi)

{

x=pi-x;

flag=-flag;

}

if(xpi

x=1.5*pi)

{

x-=pi;

flag=-flag;

}

if(xpi/4)

return

flag*mysin(pi/2-x);

for(i=0;i10;i++)

{

result+=((double)1)*mypow(x,2*i)*mypow(-1,i)/mult(2*i);

}

return

flag*result;

}

int

main()//测试程序

{

int

x;

while(1)

{

scanf("%d",x);//可以输入任意一个角度(角度制),-1终止程序

printf("cosx=%lf\n",mycos(x*pi/180));//转换成弧度,再调用前面的函数。

printf("sinx=%lf\n",mysin(x*pi/180));

if(x==-1)

break;

}

return

0;

}

C语言求余弦值

唉,程序写得相当不规范,看着好头疼;函数应该放在main外面……

#includestdio.h

#includemath.h

double jiecheng(int n)

{

int i;

double sum=1;

for(i=1;i=n;i++)

{

sum=sum*i;

}

return sum;

}

double fang(int x,int n)

{

double sum;

sum=pow(x,n);

return sum;

}

int main(void)

{

int j=1;

double x,e,count=0;

printf("e: ");

scanf("%lf",e);

printf("x: ");

scanf("%lf",x);

do{

count=count+(pow(-1,j-1))*fang(x,2*(j-1))/jiecheng(2*(j-1));

}while (fang(x,2*(j-1))/jiecheng(2*(j-1))e);

printf("%lf",count);

}

//可以运行了,但是答案输出来还是有问题……自己查查你的算法,我就不看了,晕的慌


文章名称:c语言中求余弦的函数代码,c语言中取余数
标题来源:http://cxhlcq.com/article/hesdgo.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部