关闭

test4-2(泰勒公式)

325人阅读 评论(0) 收藏 举报

程序:

/*
* Copyright(c)2013,
*All right reserved.
*文件名称:test4-2.cpp
*作    者:徐驰
*完成日期:2013-12-04
*版 本 号:v1.0
*
*输入描述:角度a
*问题描述:求出sin(a)或cos(a)
*程序输出:值
*问题分析:略
*算法分析:泰勒公式
*/
#include<iostream>
#include<Cmath>
#include<string>
using namespace std;
const double pi=3.1415926;
double sin(double a);
double cos(double a);
double fact(int i);
int main()
{
	string type;
	double a;
	while(1)
	{
		cout<<"请输入算式(sin a或cos a)(000 0退出):";	
		cin>>type>>a;
		if(type=="sin")cout<<"="<<sin(a)<<endl;
		else if(type=="cos")cout<<"="<<cos(a)<<endl;
		else if(type=="000")break;
		else cout<<"输入错误,请重新输入!"<<endl;
	}
	cout<<"谢谢使用"<<endl;
	return 0;
}

double sin(double a)
{
	double sum,b;
	int i,sign=1;
	a=a/360*2*pi;
	b=a;
	sum=a;
	for(i=3;b>1e-5;i=i+2)
	{
		sign=-sign;
		b=pow(a,i)/fact(i);
		sum=sum+sign*b;
	}
	return sum;
}

double cos(double a)
{
	double sum=1,b;
	int i,sign=1;
	a=a/360*2*pi;
	b=a;
	for(i=2;b>1e-5;i=i+2)
	{
		sign=-sign;
		b=pow(a,i)/fact(i);
		sum=sum+sign*b;
	}
	return sum;
}

double fact(int i)
{
	int j;  
    double a=1;  
    for(j=1;j<=i;j++)  
    {  
        a=a*j;  
    }  
    return a; 
}
结果:


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13708次
    • 积分:582
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档