码迷,mamicode.com
首页 > 编程语言 > 详细

c++第一次实验

时间:2016-05-06 12:54:33      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

一.问题及代码

/*  
* 文件名称: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;  
}  

二.运行结果

技术分享

三.心得体会

四.知识点总结

c++第一次实验

标签:

原文地址:http://blog.csdn.net/lhdoufu/article/details/51329433

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!