设为首页 加入收藏

TOP

问题五十六: 编程序求出sin(π/2)、sin(56°)、cos(87°)、cos(π/3).
2014-11-23 22:30:26 来源: 作者: 【 】 浏览:3
Tags:问题 五十六 程序 sin cos

[plain]
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 编程序求出sin(π/2)、sin(56°)、cos(87°)、cos(π/3).
* 问题来源:
* 完成日期: 2013 年4 月17日
* 版 本 号: V1.0
*/

#include
#include

#define PI 3.1415926

int fac(int l); //阶乘
double sin(double n);
double cos(double m);

int main()
{
printf("sin(π/2)==%lf\n", sin(PI/2));
printf("sin(56°)==%lf\n", cos( (56.0/ 180)* PI));
printf("cos(87°)==%lf\n", cos( (87.0/ 180)* PI));
printf("cos(π/3)==%lf\n", cos(PI/3));

return 0;
}

//fac()函数定义
int fac(int l)
{
int i;
int sum=1;

if(l==0)
{
sum=1;
}
else
{
for(i=1; i<=l; i++)
{
sum*=i;
}
}

return sum;
}

//sin()函数定义
double sin(double n)
{
int i;
int k=1;
double sum=0;

for(i=1; pow(n,i)/ fac(i)>0.000001; i+=2)
{
sum+=pow(n,i)/ fac(i)* k;
k=-1* k;
}
return sum;
}
//cos()函数定义
double cos(double m)
{
int i;
int k=1;
double sum=0;

for(i=0; pow(m,i)/ fac(i)>0.000001; i+=2)
{
sum+=pow(m,i)/ fac(i)* k;
k=-1* k;
}

return sum;
}

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 编程序求出sin(π/2)、sin(56°)、cos(87°)、cos(π/3).
* 问题来源:
* 完成日期: 2013 年4 月17日
* 版 本 号: V1.0
*/

#include
#include

#define PI 3.1415926

int fac(int l); //阶乘
double sin(double n);
double cos(double m);

int main()
{
printf("sin(π/2)==%lf\n", sin(PI/2));
printf("sin(56°)==%lf\n", cos( (56.0/ 180)* PI));
printf("cos(87°)==%lf\n", cos( (87.0/ 180)* PI));
printf("cos(π/3)==%lf\n", cos(PI/3));

return 0;
}

//fac()函数定义
int fac(int l)
{
int i;
int sum=1;

if(l==0)
{
sum=1;
}
else
{
for(i=1; i<=l; i++)
{
sum*=i;
}
}

return sum;
}

//sin()函数定义
double sin(double n)
{
int i;
int k=1;
double sum=0;

for(i=1; pow(n,i)/ fac(i)>0.000001; i+=2)
{
sum+=pow(n,i)/ fac(i)* k;
k=-1* k;
}
return sum;
}
//cos()函数定义
double cos(double m)
{
int i;
int k=1;
double sum=0;

for(i=0; pow(m,i)/ fac(i)>0.000001; i+=2)
{
sum+=pow(m,i)/ fac(i)* k;
k=-1* k;
}

return sum;
}

\
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇问题五十四: 输出10000以内的所有.. 下一篇问题五十八:贺老师教1班和2班两个..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: