沒有現(xiàn)成的函數(shù),你可以以0.01為步長循環(huán)
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、鐘祥網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
y的坐標(biāo)為sin(x)
然后再在輸出上畫一個(gè)點(diǎn)(x,sin(x));
這樣從-PI循環(huán)到PI,就可以畫一個(gè)周期的正玄圖形了。
畫點(diǎn)函數(shù)為:void putpixel(int x, int y, int color)
其中x,y為坐標(biāo),color是顏色。
頭文件為:graphics.h
這是在tc編譯器下的。需要先打開圖形工作模式。
#include stdio.h
#include math.h
main()
{
double y;
int x,m;
for(y=1;y=-1.0;y-=0.1)
{
m=acos(y)*10;
for(x=1;xm;x++)
printf(" ");
printf("*");
for(;x62-m;x++)
printf(" ");
printf("*\n");
}
}
hehe
首先這個(gè)程序只能輸出這種 不像正弦 也不象余弦的曲線。
因?yàn)槟愕某绦虻乃惴ㄊ敲啃杏?個(gè)星星
其次,15+45=60,約等于2*PI
就是說,前面的15是PI/2,后面的45是PI/2*3,
輸出的是1個(gè)周期的。sin(PI/2)=1。。這回懂了么?
首先,你輸出的不是正弦圖像,而是反正弦圖像。
#includestdio.h
#includemath.h
int
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0x2*pi]\n");
for(y=1;y=-1;y-=0.1){//表示y的取值范圍是[-1,1]
if(y=0){
m=asin(y)*10;
//反正弦函數(shù),確定空格的數(shù)量,最大值為15
for(x=1;xm;x++)printf("
");
//printf("*",m);
printf("*");//注意此時(shí)不換行,因?yàn)楹竺孢€有一個(gè)點(diǎn)
for(;x31-m;x++)printf("
");//輸出第二個(gè)點(diǎn),并換行
printf("*\n");}
else{//同理輸出y小于0的點(diǎn)
m=-1*asin(y)*10;
for(i=0;i32;i++)printf("
");
for(x=1;xm;x++)printf("
");
//printf("*",m);
printf("*");
for(;x31-m;x++)printf("
");
printf("*\n",m);
}
}
getchar();
return
0;
}
1、首先,打開VS2019,并且創(chuàng)建一個(gè)C語言源文件,會看到如下的頁面。
2、鼠標(biāo)在下圖紅色圈所示的區(qū)域單擊一下。
3、之后,再按Enter鍵,會看到新的一行。
4、在這一行中輸入:#includemath.h。
5、接著,在void main()中去定義一個(gè)單精度型變量。
6、定義完回車后,輸入a=sin(90);注意,90指的是90弧度。
7、再次回車,輸入printf("%f",a);。
8、可以按F5鍵去運(yùn)行這段程序,會看到如下的結(jié)果。即90弧度的正弦值約為0.893997。
1、C語言中要編寫sin函數(shù),實(shí)質(zhì)上要利用sin的泰勒公式,然后根據(jù)泰勒公式,將其中的每一項(xiàng)進(jìn)行分解,最后用循環(huán),累加計(jì)算出最終結(jié)果。
2、下面用for循環(huán)實(shí)現(xiàn)sin的算法,程序代碼如下:
#includestdio.h
#includemath.h
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)前的符號這三項(xiàng),以便于每一項(xiàng)的累加。
本文題目:c語言中正弦畫點(diǎn)函數(shù) 描點(diǎn)法畫正弦函數(shù)圖像
分享網(wǎng)址:http://m.kartarina.com/article6/hjijig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、建站公司、網(wǎng)頁設(shè)計(jì)公司、靜態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)