1.
成都創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)互聯(lián)產(chǎn)品、成都全網(wǎng)營銷服務(wù)為核心業(yè)務(wù)。10余年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。
c語言中要編寫sin函數(shù),實(shí)質(zhì)上要利用sin的泰勒公式,然后根據(jù)泰勒公式,將其中的每一項(xiàng)進(jìn)行分解,最后用循環(huán),累加計(jì)算出最終結(jié)果
2.
下面用for循環(huán)實(shí)現(xiàn)sin的算法,程序代碼如下:
#include
#include
void
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;
//累加一項(xiàng)
a=a*x*x;
//求下一項(xiàng)分子
b=b*2*i*(2*i+1);
//求下一項(xiàng)分母
s*=-1;
}
printf("sum=%f\n",sum);
}
3.
關(guān)于上述程序的幾點(diǎn)說明:上述程序的計(jì)算結(jié)果精確到小數(shù)點(diǎn)后六位;上述程序運(yùn)用了sin的泰勒展開式
sin
x=x-x^3/3!+x^5/5!
......
,程序中將sin泰勒公式中的每一項(xiàng)拆成了分子,分母以及每一項(xiàng)前的符號(hào)這三項(xiàng),以便于每一項(xiàng)的累加
#includestdio.h
#include math.h
//先定義一個(gè)階乘函數(shù)
double fac(double n){
double f=0;
if(n == 1 || n==0)
f =1;
else
f = fac(n-1)*n;
return f;
}
//一個(gè)指數(shù)函數(shù)(次方)
double kvat(double n,double ci){
double chengf=1;
for (int i=1; i=ci; i++) {
chengf = chengf*n;
}
return chengf;
}
double sinus(double x){
int z =-1;
int j =1;
double sin=x;
for (j =3;fabs( kvat(x,j)/fac(j) )0.001 ; 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 = (jd*M_PI)/180;//這里的M_PI在math庫里就是 圓周率pai
printf( "%.3lf",sinus(hudu));
return 0;
}
1、首先,打開VS2019,并且創(chuàng)建一個(gè)C語言源文件,會(huì)看到如下的頁面。
2、鼠標(biāo)在下圖紅色圈所示的區(qū)域單擊一下。
3、之后,再按Enter鍵,會(huì)看到新的一行。
4、在這一行中輸入:#includemath.h。
5、接著,在void main()中去定義一個(gè)單精度型變量。
6、定義完回車后,輸入a=sin(90);注意,90指的是90弧度。
7、再次回車,輸入printf("%f",a);。
8、可以按F5鍵去運(yùn)行這段程序,會(huì)看到如下的結(jié)果。即90弧度的正弦值約為0.893997。
輸入一個(gè)double類型的數(shù),調(diào)用c標(biāo)準(zhǔn)庫中的sin函數(shù)即可。
函數(shù)原型:double
sin(double
x);
功能:
函數(shù)用來求給定值的正弦值
頭文件:#include
math.h
參數(shù):給定的值(弧度)。
返回值:返回-1
至1
之間的計(jì)算結(jié)果。
示例:
#includestdio.h
#includemath.h
int main()
{
const double PI = 3.1415926;
double d;
scanf("%lf", d);
double result = sin(d*PI/180)+cos(d*PI/180);
printf("%f\n",result);
return 0;
}
首先:程序應(yīng)該這樣改!
#include
#include
main()
{
double
n;
double
b,c;
scanf("%lf",n);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
其次,這里的n是弧度值,你說的90度應(yīng)該輸入的是pi/2,而不是90,如果希望輸入90的話,那就這樣改!
#include
#include
main()
{
int
s;
double
n,b,c;
scanf("%d",s);
n=3.1415926*(s/180.0);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
#include"stdio.h"
#include"math.h"
double mysin(double x)
{double y=x,t=x,t1=x*x;
for(int i=2;fabs(t)1e-10;i+=2)
{t*=-t1/(i*(i+1));
y+=t;
}
return y;
}
int main()
{ double x;
scanf("%lf",x);
printf("%f\n",mysin(x));
return 0;
}