
#include<stdioh>
#include <mathh>
//先定义一个阶乘函数
double fac(double n){
double f=0;
if(n == 1 || n==0)
f =1;
else
f = fac(n-1)n;
return f;
}
//一个指数函数(次方)
double kvat(double n,double ci){
double chengf=1;
for (int i=1; i<=ci; i++) {
chengf = chengfn;
}
return chengf;
}
double sinus(double x){
int z =-1;
int j =1;
double sin=x;
for (j =3;fabs( kvat(x,j)/fac(j) )>0001 ; j+=2) {
// printf("%lf\n",kvat(x, j));
sin =sin + z(kvat(x,j)/fac(j));
z = -z;
}
return sin;
}
int main(){
double jd,hudu;
scanf("%lf",&jd);
hudu = (jdM_PI)/180;//这里的M_PI在math库里就是 圆周率pai
printf( "%3lf",sinus(hudu));
return 0;
}
程序没错!!!!!
我也在TC上运行正确!!
函数sin()的输入的精度足够高,要不假设它的精度才精确到小数点后2位,你想要4位的就不行的实际其精确度也是有限的
输出的双精度,你可以强制转化,如:
int
n;
n=(int)(sin(x));
这样不是可以变成int了
但这样似乎没用,不是0就是1了
当然了,x也可以是整数计算时,系统自动进行将x转为双精度型
程序结尾的getch();语句作用:
为了让你很好的看程序结果,
不让程序提前结束,
当然不用也可以看,但是上面不是显示"按任意键结束"吗
当你想看结果时,不小心按了哪个键看不到了
加上getch();后,这个函数的作用是从键盘(控制台)上接受一个字符
这样加了一次保险,不小心按一次,还可以看就象带保险套一样,按多了一次,也就会结束了
一句话,它就是为了让你安全看程序结果
C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。
例子:
#include <mathh>
main(){
double answer = sin(05);
printf("sin(05) = %f\n", answer);
}
执行
sin(05) = 0479426
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 <stdioh>
#include <mathh> int main(void)
{
double result;
double x = 05; result = acos(x);
printf("The arc cosine of %lf is %lf\n", x, result);
return 0;
}
参考资料:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)