正弦函数是三角函数的一种.
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的临泽网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
定义:对于任意一个实数x都对应着唯一的角(弧度制中等于这个实数),而这个角又对应着唯一确定的正弦值sin
x,这样,对于任意一个实数x都有唯一确定的值sin
x与它对应,按照这个对应法则所建立的函数,表示为f(x)=sin
x,叫做正弦函数。
在c语言当中,sin
函数在标准库math.h当中。注意其输入参数单位是弧度,将角度转换为弧度,请将角度乘以
π/180。
功
能:
正弦函数
用
法:
double
sin(double
x);
例程:
#include
#include
int
main(void)
{
double
result,
x
=
0.5;
result
=
sin(x);
printf("the
sin()
of
%lf
is
%lf\n",
x,
result);
return
0;
}
sinx函数
#includemath.h
int sinx(float x){
int n=1;
double sum ,term;
sum=x;
term=x;
do{
term=-term*x*x/((n+1)*(n+2));
sum=sum+term;
n=n+2;
}while (fabs(term)=1e-5);
if(sum0)
return 1;
else if(sum0)
return -1;
else
return 0;
}
完整的包含sinx函数和调用其的主函数的C语言程序如下
#includestdio.h
#includemath.h
int sinx(float x){
int n=1;
double sum ,term;
sum=x;
term=x;
do{
term=-term*x*x/((n+1)*(n+2));
sum=sum+term;
n=n+2;
}while (fabs(term)=1e-5);
if(sum0)
return 1;
else if(sum0)
return -1;
else
return 0;
}
int main(){
float x;
printf("请输入弧度值x:");
scanf("%f",x);
printf("%d",sinx(x));
return 0;
}
#include "graphics.h"
#include stdio.h
#include conio.h
#include math.h
void main()
{
int GD,GM;
int i,a,val;
GD=DETECT;
initgraph(GD,GM,"");
printf("请输入半幅高度10-200: ");
scanf("%d",a);
setfillstyle(SOLID_FILL,WHITE);
bar(0,0,639,479);
setcolor(BLACK);
line(20,20,20,459); // y轴
line(15,25,20,20);
line(25,25,20,20);
outtextxy(16,10, "Y");
line(20,239,620,239); // x轴
line(615,234,620,239);
line(615,244,620,239);
outtextxy(625,234, "X");
setcolor(RED);
for(i=0;i560;i=i+2)//隔点输出*,可以根据梳密需要调整 /
{
val=a*sin(i*4*3.14159/560);
outtextxy(i+20,239+val,"*");
}
getch();
closegraph();
}
首先,你的测试输入和测试输出的数据是对应不上的,你写错信息了!
输入 3.1415026, 3 的时候,输出才是 -0.07522 。
好了,正确的参考代码如下:
#include stdio.h
double power(double x, int n); // 计算乘方的函数
double fact(int n); // 计算阶乘的函数
int main(int argc, char const *argv[])
{
double x, s;
int n;
int sign = 1; //正负号开关变量,初始状态为正
printf("Please input a decimal number x , a postive int number n :\n");
scanf("%lf%d", x, n);
for (int i = 0; i = n; i++)
{
s += sign * power(x, 2 * i + 1) / fact(2 * i + 1);
sign = -sign;
}
printf("x = %g, n = %d, s = %.5lf \n", x, n, s);
return 0;
}
//计算x^n
double power(double x, int n)
{
double p = 1;
// 这样的循环条件,很简洁。因为函数传入的是形参,也不会对main的变量造成影响。
for (; n--;)
{
p *= x;
}
return p;
}
// 计算n!
double fact(int n)
{
double f = 1;
// 这样的循环条件,很简洁。因为函数传入的是形参,也不会对main的变量造成影响。
for (; n;)
{
f *= n--;
}
return f;
}
测试截图:(分别测试了角度为 180度、90度、45度的弧度值)
输入和输出语句,你不想要这么多的提示信息的话,自己修改一下就可以了。
如有帮助,烦请点采纳,谢谢!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款