/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:呼亚萍
* 完成日期:2014年 11 月 11 日
* 版 本 号:v1.0
*
* 问题描述:用sin泰勒公式展式编写程序,求出sin(pi/2)和sin((56/180))*pi的值,精确到小数点后6位
* 输入描述:相应的程序
* 程序输出:sin(pi/2)和sin((56/180))*pi的值
*/
#include <iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double x);
double myabs(double x);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin(pi*(56.0/180))<<endl;
return 0;
}
double mysin(double x)
{
double sum=x,x_pow=x,item;
int n=1,fact=1,sign=1;
do
{
fact=fact*(n+1)*(n+2);
x_pow*=x*x;
sign=-sign;
item =x_pow/fact*sign;
sum+=item;
n+=2;
}while(myabs(item)>1e-5);
return sum;
}
double myabs(double x)
{
return ((x>=0)?x:-x);
}
运算结果:
知识点总结:
多个函数int时,函数之间用; 使用调用函数的时候,模型与题头定义的形式要相同
学习心得:
即使自己不会,通过借鉴也要动手去编写。,加油!