您的位置:首页 > 编程语言 > C语言/C++

c++第一次实验

2016-05-06 10:28 369 查看
一.问题及代码

/*
* 文件名称:Ex2-2.cpp
* 作    者:卢欢
* 完成日期:2016 年 5月 6日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 使用c++编写sin与cos函数;
* 输入描述:无
* 问题描述:使用c++编写sin与cos函数;
* 程序输出:输出特定数的函数值
* 问题分析:
* 算法设计:麦克劳林展开式中涉及多个函数,逐个编写;
*/
#include<iostream.h>
const double pi=3.1415926;
double f(int a);
double mypow(double x,int y);
double myabs(double a);
double mysin(double x);
double mycos(double x);
int main()
{
cout<<"f(5)="<<f(5)<<endl;
cout<<"mypow(3.0,4)="<<mypow(3.0,4)<<endl;
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((56.0/180)*pi)<<endl;
cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl;
cout<<"cos(π/3)的值为"<<mycos(pi/3)<<endl;
return 0;
}
double f(int a)
{
double s=1;
for(int i=1;i<=a;i++)
{
s*=i;
}
return s;
}
double mypow(double x,int y)
{
double s=1;
for(int i=0;i<y;i++)
s*=x;
return s;
}
double myabs(double a)
{
if(a>=0) return a;
else return -1*a;
}
double mysin(double x)
{
double sin=0;
for(int i=1;i<=20;i++)
{
sin+=mypow(x,2*i-1)*mypow(-1,1+i)/f(2*i-1);
}
return sin;
}
double mycos(double x)
{
double cos=0;
for(int i=0;i<=20;i++)
{
cos+=mypow(x,2*i)*mypow(-1,i)/f(2*i);
}
return cos;
}


二.运行结果



三.心得体会

四.知识点总结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: