扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果。
创新互联是一家专业提供夏河企业网站建设,专注与网站设计、成都网站制作、成都h5网站建设、小程序制作等业务。10年已为夏河众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
2、下面用for循环实现sin的算法,程序代码如下:
#includestdio.h#includemath.hvoid main(){ int i; float x,sum,a,b; //sum代表和,a为分子,b为分母 char s; printf("please input x"); scanf("%f",x); s=1; sum=0; a=x; //分母赋初值 b=1; //分子赋初值 for(i=1;a/b=1e-6;i++) { sum=sum+s*a/b; //累加一项 a=a*x*x; //求下一项分子 b=b*2*i*(2*i+1); //求下一项分母 s*=-1; } printf("sum=%f\n",sum);}
3、 关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式 sin x=x-x^3/3!+x^5/5! ...... ,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加。
你这个代码system("dir")后面掉了一个分号,而且服务也不是你这么写的。我之前写过一个开机自动启动的关机程序,是用服务的形式让它自动启动的,链接如下:
还有你那个错误代码可以用vc的工具查找其具体含义的,如下图:
C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。
例子:
#include math.h
main(){
double answer = sin(0.5);
printf("sin(0.5) = %f\n", answer);
}
执行
sin(0.5) = 0.479426
C语言sin():
sin()原型:double sin(double x)
sin()角度与弧度:
π=180°
1°=π/180
1(rad)=180/π
角度转弧度:用角度乘以π/180
弧度转角度:用弧度乘以180/π,或者用rtod()函数
扩展资料:
与sin相似的acos函数
函数名: acos
功 能:计算并返回arccos(x)值、要求-1=X=1
函数与形参类型:
double acos(x)
double x;
程序例:
#include stdio.h
#include math.h int main(void)
{
double result;
double x = 0.5; result = acos(x);
printf("The arc cosine of %lf is %lf\n", x, result);
return 0;
}
参考资料:CSDN博客频道-C语言中sin和cos的用法
double sin(double x);
sin参数为double类型,返回值也为double
#includestdio.h
#includemath.h
int main()
{
const double pi = 3.1415926;
double d, e;
scanf("%f", d);
e = sin(2*pi*d/63.84);
printf("%lf\n", e);
return 0;
}
径度与角度不同
建议修改如下:
#include stdio.h
#include math.h
#define PI 3.14159265
void main()
{
float x;
double y;
printf("入角度值:\n");
scanf("%f",x);
y=sin(x*PI/180);
printf("sin(%f°)=%2lf\n",x,y);
}
#include stdio.h
#include math.h
#define EX 0.000001
#define PI 3.14159265
int main()
...{
double x=0.0, temp=1.0, sin=0.0;
int i;
printf("Please input a degree:");
scanf("%lf",x);
x=x*PI/180;
temp=x;
i=0 ;
while ( fabs(temp) EX ) ...{
sin += temp;
i += 2;
temp = (-1) * temp*x*x/( (i+1)*(i) );
}
printf("sin(%lf) = %lf ",x,sin);
printf("The number is %d ",i);
return 0;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流