最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言繪制余弦、正弦曲線

 更新時間:2019年06月01日 10:33:36   作者:修煉千年的大餅  
這篇文章主要為大家詳細(xì)介紹了C語言繪制余弦、正弦曲線的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

繪制余弦曲線

要求:在屏幕上用“*”(星號)顯示0°~360°的余弦函數(shù)cos(x)曲線。(不使用數(shù)組)

問題分析與算法設(shè)計

對一般的顯示器來說,只能按行輸出,即:輸出第一行信息后,想能向下一行輸出,不能再返回到上一行。為了獲得一個周期(0°~360°)的余弦函數(shù)圖形,j就必須在一行中一次輸出兩個“*”。

為了同時得到余弦函數(shù)cos(x)圖形在一行上的兩個點,考慮利用cos(x)的左右對稱性。將屏幕行方向定義為x,列方向定義為y。若定義圖形的總寬度為62行,計算出x行0°~180°時y點坐標(biāo)m,那么在同一行與之對稱的180°~360°的y點坐標(biāo)就應(yīng)為62-m。程序中利用反余弦函數(shù)acos計算坐標(biāo)(x,y)的對用關(guān)系。

程序說明與注釋

/****************繪制0~2PI區(qū)間內(nèi)的余弦曲線****************/
/***********編者:董炳政******編寫時間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ù),求對應(yīng)橫坐標(biāo)的值,此時m為int型變量*/
    for(x = 1;x < m;x++)  /*開始逐行打點*/
      printf(" ");    /*在曲線定點右側(cè),打印空格*/
    printf("*");      /*第一個曲線定點打印“*”*/
    for(;x < 62-m;x++)   /*開始打印對稱曲線定點,由于對稱性x的終值為62-m*/
      printf(" ");    /*在兩定點之間打印空格*/
    printf("*\n");     /*第二個曲線定點打印“*”,并換行*/
  }
  return 0;
}

運行結(jié)果:

[root@localhost 1_drawingcos]# ./drawingcos 
*                               *
  *                           *
   *                         *
   *                        *
    *                      *
     *                     *
     *                    *
      *                   *
      *                  *
       *                 *
       *                *
        *               *
        *              *
         *             *
         *            *
          *           *
           *         *
           *        *
            *       *
             *     *
               **

繪制正弦曲線

在已經(jīng)會繪制余弦曲線的基礎(chǔ)上,我們來進一步探索如何利用C語言繪制正弦函數(shù)。

問題分析:

很自然的,我們想到將acos(y)換成asin(y),不就可以把畫余弦函數(shù)換成畫正弦函數(shù)了嗎??墒牵聦嵅]有那么簡單。首先,0°~360°的正弦函數(shù)并不是一個簡單的左右對稱的圖形;其次,反三角函數(shù)x=asin(y)的值域為(-π/2,π/2),所以并不能通過簡單的求反三角函數(shù)值計算出(π,2π)這一段圖形的橫坐標(biāo)。

這里提供一種方法。我們可以通過計算asin(y)來得到(0,π/2)這一段圖形的橫坐標(biāo);利用(0,π/2)的圖形和(π/2,π)關(guān)于x=π/2軸對稱,來得到(π/2,π)這一段圖形的橫坐標(biāo);通過計算π+asin(-y)的值,來得到(π,2π)這一段圖形的橫坐標(biāo)。

/****************繪制0~2PI區(qū)間內(nèi)的弦曲線****************/
/***********編者:董炳政******編寫時間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ù),求對應(yīng)橫坐標(biāo)的值,此時m為int型變量*/
    for(x = 1;x < m;x++)  /*開始逐行打點*/
      printf(" ");    /*在曲線定點右側(cè),打印空格*/
    printf("*");      /*第一個曲線定點打印“*”*/
    for(;x < 31-m;x++)   /*開始打印對稱曲線定點,由于0~PI的對稱性x的終值為31-m*/
      printf(" ");    /*在兩定點之間打印空格*/
    printf("*\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;
}

運行結(jié)果:

[root@localhost 1_drawingcos]# ./drawingsin 
       * *
     *     *
    *       *
   *         *
   *          *
  *           *
  *            *
 *             *
 *              *
*               *
*               *
                *              *
                 *             *
                 *            *
                  *           *
                  *          *
                   *        *
                    *       *
                     *     *
                       **

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一篇文章了解c++中的new和delete

    一篇文章了解c++中的new和delete

    C語言提供了malloc和free兩個系統(tǒng)函數(shù),完成對堆內(nèi)存的申請和釋放,而C++則提供了兩個關(guān)鍵字new和delete,下面這篇文章主要給大家介紹了如何通過一篇文章了解c++中new和delete的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • 獲取C語言中int類型的最大值的方法小結(jié)

    獲取C語言中int類型的最大值的方法小結(jié)

    在C語言中,int?類型的大小通常是根據(jù)系統(tǒng)架構(gòu)來決定的,在大多數(shù)現(xiàn)代系統(tǒng)上,int?通常是32位的,在C語言中,獲取int類型的最大值有幾種不同的方法,下面,我們將討論兩種方法:使用標(biāo)準(zhǔn)庫函數(shù)和使用算法,需要的朋友可以參考下
    2024-06-06
  • C語言在頭文件中定義const變量詳解

    C語言在頭文件中定義const變量詳解

    這篇文章主要介紹了C語言在頭文件中定義const變量詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Opencv?視頻讀取與寫入的實現(xiàn)示例

    Opencv?視頻讀取與寫入的實現(xiàn)示例

    本文將介紹如何使用OpenCV進行視頻讀寫。通過閱讀本文,您將了解如何讀取視頻文件、處理視頻幀、寫入視頻文件等操作,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • C++中策略模式和工廠模式的區(qū)別

    C++中策略模式和工廠模式的區(qū)別

    這篇文章介紹了C++中策略模式和工廠模式的區(qū)別,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C++中的編譯與鏈接

    C++中的編譯與鏈接

    這篇文章主要介紹了C++中的編譯與鏈接,編譯型語言SHI?c++最大的優(yōu)點,相比于Python這種解釋型語言,C++在編譯階段就進行了許多處理,在執(zhí)行階段便具有高效性,下面我們就來詳細(xì)講解該內(nèi)容吧
    2021-12-12
  • C++?ASIO實現(xiàn)異步套接字管理詳解

    C++?ASIO實現(xiàn)異步套接字管理詳解

    Boost?ASIO(Asynchronous?I/O)是一個用于異步I/O操作的C++庫,該框架提供了一種方便的方式來處理網(wǎng)絡(luò)通信、多線程編程和異步操作,本文介紹了如何通過ASIO框架實現(xiàn)一個簡單的異步網(wǎng)絡(luò)套接字應(yīng)用程序,需要的可以參考下
    2023-08-08
  • C++ decltype 說明符

    C++ decltype 說明符

    這篇文章主要介紹了C++ decltype 說明符,檢查實體的聲明類型,或表達(dá)式的類型和值類別。下面我們來看看文章中的具體內(nèi)容吧

    2021-12-12
  • SublimeText編譯C開發(fā)環(huán)境設(shè)置

    SublimeText編譯C開發(fā)環(huán)境設(shè)置

    這篇文章主要介紹了使用SublimeText編譯C代碼的開發(fā)環(huán)境設(shè)置,大家參考使用
    2013-11-11
  • windows上安裝CLion教程及簡單使用詳解

    windows上安裝CLion教程及簡單使用詳解

    這篇文章主要介紹了windows上安裝CLion教程及簡單使用,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論

宜兰市| 安平县| 揭西县| 松阳县| 临桂县| 绵竹市| 德钦县| 屏南县| 芜湖县| 保康县| 绩溪县| 合江县| 穆棱市| 咸宁市| 青浦区| 盐亭县| 吉木乃县| 贵南县| 台北市| 舒城县| 东丽区| 特克斯县| 贺州市| 五家渠市| 丽江市| 静宁县| 正定县| 甘孜县| 邵东县| 孟连| 牙克石市| 胶南市| 香河县| 镇宁| 公安县| 白山市| 青龙| 瑞昌市| 永定县| 黄浦区| 宣化县|