早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言求解尽量少调用简单4求值(当某个加数的绝对值小于10的-5次方时,就认为满足精度了)Sinx=x-x3/3!+x5/5!-x7/7!+…

题目详情
C语言求解 尽量少调用 简单
4求值(当某个加数的绝对值小于10的-5次方时,就认为满足精度了)
Sinx= x - x3/3!+x5/5!-x7/7!+…
▼优质解答
答案和解析
无需调用math.h头文件,无需反复求分母阶乘,大大缩短运行时间
#include "stdio.h"
void main()
{
int i=1,j=1,flag=1;
double x,temp=1,sin=0;
printf("x=");
scanf("%lf",&x);//输入x值
do
{
while(j<=i)temp*=x/j++;//temp=x^(2n+1)/(2n+1)!
sin+=flag*temp;//求和
flag*=-1;//符号
i+=2;
}while(temp>=1e-5);
printf("sin(%f)=%.16lf\n",x,sin);
}
输入样例:
3.1415926
输出样例:
sin(3.141593)=0.0000000760092960