问题及代码:
/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:王艺霖
*完成日期:2016年3月17日
*版 本 号:v1.0
*
*问题描述:
* 求sin值
*输入描述:无输入
*输出描述:输出π/2 和56°的sin值
*/
#include <iostream>
#include <cmath>
double mysin(double x);
using namespace std;
const double pi=3.1415926;
int main()
{
cout << "sin(π/2)的值为" <<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((14.0*pi)/45.0)<<endl;
return 0;
}
double mysin(double x)
{
int i,j;
double a=1.0,sum=0.0;
for(i=0;;i++)
{
double jiecheng=1.0;
for(j=1;j<=2*i+1;j++)
jiecheng=jiecheng*j;
double k=1.0;
for(j=0;j<2*i+1;j++)
k*=x;
sum=sum+a*(k/jiecheng);
if(fabs(k/jiecheng)<0.00001)
break;
a=-a;
}
return sum;
}
运行结果:
知识点总结:
调用函数得到了进一步巩固
学习心得:
调用函数越来越熟悉了!