本篇內(nèi)容主要講解“C語言怎么寫余弦和正弦曲線”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C語言怎么寫余弦和正弦曲線”吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了廣元免費(fèi)建站歡迎大家使用!
繪制余弦曲線
要求:在屏幕上用“*”(星號(hào))顯示0°~360°的余弦函數(shù)cos(x)曲線。(不使用數(shù)組)
問題分析與算法設(shè)計(jì)
對(duì)一般的顯示器來說,只能按行輸出,即:輸出第一行信息后,想能向下一行輸出,不能再返回到上一行。為了獲得一個(gè)周期(0°~360°)的余弦函數(shù)圖形,j就必須在一行中一次輸出兩個(gè)“*”。
為了同時(shí)得到余弦函數(shù)cos(x)圖形在一行上的兩個(gè)點(diǎn),考慮利用cos(x)的左右對(duì)稱性。將屏幕行方向定義為x,列方向定義為y。若定義圖形的總寬度為62行,計(jì)算出x行0°~180°時(shí)y點(diǎn)坐標(biāo)m,那么在同一行與之對(duì)稱的180°~360°的y點(diǎn)坐標(biāo)就應(yīng)為62-m。程序中利用反余弦函數(shù)acos計(jì)算坐標(biāo)(x,y)的對(duì)用關(guān)系。
程序說明與注釋
/****************繪制0~2PI區(qū)間內(nèi)的余弦曲線****************//***********編者:董炳政******編寫時(shí)間2018/07/20**********//*******************************************************/#include <stdio.h>#include <math.h> int main(){ double y; /*縱坐標(biāo)y*/ int x,m; /*橫坐標(biāo)x*/ for(y = 1;y >= -1;y -= 0.1) /*縱軸y從1~-1,步長為0.1*/ { m=acos(y)*10; /*利用math.h中的反余弦函數(shù),求對(duì)應(yīng)橫坐標(biāo)的值,此時(shí)m為int型變量*/ for(x = 1;x < m;x++) /*開始逐行打點(diǎn)*/ printf(" "); /*在曲線定點(diǎn)右側(cè),打印空格*/ printf("*"); /*第一個(gè)曲線定點(diǎn)打印“*”*/ for(;x < 62-m;x++) /*開始打印對(duì)稱曲線定點(diǎn),由于對(duì)稱性x的終值為62-m*/ printf(" "); /*在兩定點(diǎn)之間打印空格*/ printf("*\n"); /*第二個(gè)曲線定點(diǎn)打印“*”,并換行*/ } return 0;}
運(yùn)行結(jié)果:
[root@localhost 1_drawingcos]# ./drawingcos * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
繪制正弦曲線
在已經(jīng)會(huì)繪制余弦曲線的基礎(chǔ)上,我們來進(jìn)一步探索如何利用C語言繪制正弦函數(shù)。
問題分析:
很自然的,我們想到將acos(y)換成asin(y),不就可以把畫余弦函數(shù)換成畫正弦函數(shù)了嗎。可是,事實(shí)并沒有那么簡單。首先,0°~360°的正弦函數(shù)并不是一個(gè)簡單的左右對(duì)稱的圖形;其次,反三角函數(shù)x=asin(y)的值域?yàn)?-π/2,π/2),所以并不能通過簡單的求反三角函數(shù)值計(jì)算出(π,2π)這一段圖形的橫坐標(biāo)。
這里提供一種方法。我們可以通過計(jì)算asin(y)來得到(0,π/2)這一段圖形的橫坐標(biāo);利用(0,π/2)的圖形和(π/2,π)關(guān)于x=π/2軸對(duì)稱,來得到(π/2,π)這一段圖形的橫坐標(biāo);通過計(jì)算π+asin(-y)的值,來得到(π,2π)這一段圖形的橫坐標(biāo)。
/****************繪制0~2PI區(qū)間內(nèi)的弦曲線****************//***********編者:董炳政******編寫時(shí)間2018/07/20**********//*******************************************************/#include <stdio.h>#include <math.h>#define PI 3.14159 int main(){ double y; /*縱坐標(biāo)y*/ int x,m; /*橫坐標(biāo)x*/ for(y = 1;y >= 0;y -= 0.1) /*先求0~PI,縱軸y從1~0,步長為0.1*/ { m=asin(y)*10; /*利用math.h中的反正弦函數(shù),求對(duì)應(yīng)橫坐標(biāo)的值,此時(shí)m為int型變量*/ for(x = 1;x < m;x++) /*開始逐行打點(diǎn)*/ printf(" "); /*在曲線定點(diǎn)右側(cè),打印空格*/ printf("*"); /*第一個(gè)曲線定點(diǎn)打印“*”*/ for(;x < 31-m;x++) /*開始打印對(duì)稱曲線定點(diǎn),由于0~PI的對(duì)稱性x的終值為31-m*/ printf(" "); /*在兩定點(diǎn)之間打印空格*/ printf("*\n"); /*第二個(gè)曲線定點(diǎn)打印“*”,并換行*/ } for(y -= 0.1;y >= -1;y -= 0.1) { m=(PI+asin(-y))*10; for(x=1;x<m;x++) printf(" "); printf("*\n"); for(;x<(62-(m-31));x++) printf(" "); printf("*\n"); } return 0;}
運(yùn)行結(jié)果:
[root@localhost 1_drawingcos]# ./drawingsin * * * * * * * * * * * * * * * * * ** ** * * * * * * * * * * * * * * * * * **
到此,相信大家對(duì)“C語言怎么寫余弦和正弦曲線”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
本文題目:C語言怎么寫余弦和正弦曲線
網(wǎng)頁URL:http://m.rwnh.cn/article12/jepcdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、建站公司、網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)