当前位置:首页 » 编程语言 » c语言求正弦函数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言求正弦函数

发布时间: 2022-01-19 05:50:19

c语言sin怎么用

C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。

例子:

#include <math.h>

main(){

double answer = sin(0.5);

printf("sin(0.5) = %f ", answer);

}

执行

sin(0.5) = 0.479426

C语言sin():

sin()原型:double sin(double x)

sin()角度与弧度:

π=180°

1°=π/180

1(rad)=180/π

角度转弧度:用角度乘以π/180

弧度转角度:用弧度乘以180/π,或者用rtod()函数

(1)c语言求正弦函数扩展阅读:

与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 ", x, result);

return 0;

}

② 用C语言求正弦值

1、C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果。


2、下面用for循环实现sin的算法,程序代码如下:

#include<stdio.h>

#include<math.h>


voidmain()


{


inti;


floatx,sum,a,b;//sum代表和,a为分子,b为分母


chars;


printf("pleaseinputx");


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 ",sum);


}

3、 关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式 sin x=x-x^3/3!+x^5/5! ...... ,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加。

③ 怎么用c语言编正弦函数计算

  1. 楼上的各位已经提到了scanf输入控制与目标数据类型不匹配的问题,即应改为:scanf("%f",&n);

  2. 另外三楼有提到说角度与弧度的问题,就是说sin()和cos()输入需要保证为弧度,所以你需要转换一下,比如你这个90度就应该约是1.57。

  3. 其实我觉得应该弄清楚的是为什么在输入控制错误的情况下,还会产生这样的结果。

    这是因为输入控制错误,导致n的值没有变化,也就是说后边计算正弦余弦的时候也是计算的n的初始值。你可以在先不改正输入控制的前提下,在输入语句前加一个输出语句,看看n值为多少,如果没猜错的话,应该是0,进而计算的结果也当是正确的。也许你要问了,不是说局部变量自动变量未初始化的话值是随机值么,怎么会是0呢?是的,我也很纳闷,也许适合具体的编译环境有关吧,不同的编译环境对这种情况可能处理会有所不同吧,留待自己去探究咯~

    希望能帮到你~欢迎交流~

④ 求一c语言编程实现输出正弦函数表

#include<stdio.h>
#include<math.h>
int
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0<x<2*pi]\n");
for(y=1;y>=-1;y-=0.1){//表示y的
取值范围
是[-1,1]
if(y>=0){
m=asin(y)*10;
//
反正弦函数
,确定空格的数量,最大值为15
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");//注意此时不换行,因为后面还有一个点
for(;x<31-m;x++)printf("
");//输出第二个点,并换行
printf("*\n");}
else{//同理输出y小于0的点
m=-1*asin(y)*10;
for(i=0;i<32;i++)printf("
");
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");
for(;x<31-m;x++)printf("
");
printf("*\n",m);
}
}
getchar();
return
0;
}
参考一下

⑤ 用c语言编写程序求正弦

好像可以运行啊,你用的是什么编译器?我用visual C++6.0测试通过!
另外你既然用到了getch()函数,最好在开头加一下包含头文件#include <conio.h>

其他的没什么错误了,我已经测试过了,运行结果也是正确的,当然了运行的时候你要注意x是弧度表示的,而不是角度。

⑥ c语言画正弦函数

我调试的时候是一个,运行的时候有两个。
完整的调试了一边,发现是精度的问题,到最后y的值不是-1而是-0.999.....87,所以它才输出了最后的*

你把y!=
-1改成y>=
-0.999,就正常了
double
y=0.0
=>
y-0.1=
-0.100...1
,所以double型的不要使用整数来作为参照点

⑦ 如何用C语言实现正弦或余弦函数

如果只是需要值,那么调用math中的sin和cos函数即可.
参数为弧度, 如果要使用的参数是角度,需要自行转换一下.
如果想自己写,可以参考泰勒展开, 计算近似值.一般计算到最后一项小于1e-6即可.

⑧ 正弦函数C语言编程

那只有用泰勒级数来完成了,
sin(x)=x-pow(x,3)/3!+pow(x,5)/5!-..............
其中的x用的是弧度,转换的格式是:
弧度=角度*pi/180

⑨ C语言题目:求正弦函数值。

你要把o=2*n+1放在循环内部。你的程序中o始终是个系统默认的值,而且应该是个很大的负数。

⑩ C语言正弦函数

sin值就是可以是负数。不过sin不是按角度算的,是按弧度算的。就是sin(PAI)=0;sin(PAI/2)=1。