亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語(yǔ)言繪制余弦、正弦曲線

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

繪制余弦曲線

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

問(wèn)題分析與算法設(shè)計(jì)

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

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

程序說(shuō)明與注釋

/****************繪制0~2PI區(qū)間內(nèi)的余弦曲線****************/
/***********編者:董炳政******編寫(xiě)時(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,步長(zhǎng)為0.1*/
  {
    m=acos(y)*10;      /*利用math.h中的反余弦函數(shù),求對(duì)應(yīng)橫坐標(biāo)的值,此時(shí)m為int型變量*/
    for(x = 1;x < m;x++)  /*開(kāi)始逐行打點(diǎn)*/
      printf(" ");    /*在曲線定點(diǎn)右側(cè),打印空格*/
    printf("*");      /*第一個(gè)曲線定點(diǎn)打印“*”*/
    for(;x < 62-m;x++)   /*開(kāi)始打印對(duì)稱(chēng)曲線定點(diǎn),由于對(duì)稱(chēng)性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ǔ)上,我們來(lái)進(jìn)一步探索如何利用C語(yǔ)言繪制正弦函數(shù)。

問(wèn)題分析:

很自然的,我們想到將acos(y)換成asin(y),不就可以把畫(huà)余弦函數(shù)換成畫(huà)正弦函數(shù)了嗎??墒?,事實(shí)并沒(méi)有那么簡(jiǎn)單。首先,0°~360°的正弦函數(shù)并不是一個(gè)簡(jiǎn)單的左右對(duì)稱(chēng)的圖形;其次,反三角函數(shù)x=asin(y)的值域?yàn)?-π/2,π/2),所以并不能通過(guò)簡(jiǎn)單的求反三角函數(shù)值計(jì)算出(π,2π)這一段圖形的橫坐標(biāo)。

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

/****************繪制0~2PI區(qū)間內(nèi)的弦曲線****************/
/***********編者:董炳政******編寫(xiě)時(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,步長(zhǎng)為0.1*/
  {
    m=asin(y)*10;      /*利用math.h中的反正弦函數(shù),求對(duì)應(yīng)橫坐標(biāo)的值,此時(shí)m為int型變量*/
    for(x = 1;x < m;x++)  /*開(kāi)始逐行打點(diǎn)*/
      printf(" ");    /*在曲線定點(diǎn)右側(cè),打印空格*/
    printf("*");      /*第一個(gè)曲線定點(diǎn)打印“*”*/
    for(;x < 31-m;x++)   /*開(kāi)始打印對(duì)稱(chēng)曲線定點(diǎn),由于0~PI的對(duì)稱(chēng)性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 
       * *
     *     *
    *       *
   *         *
   *          *
  *           *
  *            *
 *             *
 *              *
*               *
*               *
                *              *
                 *             *
                 *            *
                  *           *
                  *          *
                   *        *
                    *       *
                     *     *
                       **

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

相關(guān)文章

  • C++中vector的用法實(shí)例解析

    C++中vector的用法實(shí)例解析

    這篇文章主要介紹了C++中vector的用法,詳細(xì)描述了vector的各種常見(jiàn)的用法及注意事項(xiàng),需要的朋友可以參考下
    2014-08-08
  • 基于C++編寫(xiě)一個(gè)進(jìn)度條的示例代碼

    基于C++編寫(xiě)一個(gè)進(jìn)度條的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)一個(gè)命令行進(jìn)度條,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-06-06
  • 深入了解C語(yǔ)言棧的創(chuàng)建

    深入了解C語(yǔ)言棧的創(chuàng)建

    棧只允許在一端進(jìn)行插入或刪除操作的線性表。首先棧是一種線性表,但是限定這種線性表只能在某一端進(jìn)行插入和刪除操作,這篇文章主要介紹了C語(yǔ)言對(duì)棧的實(shí)現(xiàn)基本操作
    2021-07-07
  • C語(yǔ)言算法練習(xí)之佩奇存錢(qián)方案

    C語(yǔ)言算法練習(xí)之佩奇存錢(qián)方案

    這篇文章主要該大家分享C語(yǔ)言算法佩奇存錢(qián)的練習(xí),文章主要通過(guò)描述佩奇存錢(qián)的問(wèn)題然后確定程序框架將結(jié)果運(yùn)算出來(lái),下面來(lái)看詳細(xì)內(nèi)容吧,需要的朋友可以參考一下
    2022-04-04
  • C語(yǔ)言實(shí)例梳理講解常用關(guān)鍵字的用法

    C語(yǔ)言實(shí)例梳理講解常用關(guān)鍵字的用法

    關(guān)鍵字是C語(yǔ)言非常重要的一部分,熟練的掌握和使用關(guān)鍵字有助于我們更加熟悉了解C語(yǔ)言,同時(shí)C語(yǔ)言的關(guān)鍵字也是面試筆試中常考的內(nèi)容。C語(yǔ)言的關(guān)鍵字共有32個(gè),但并不是每個(gè)關(guān)鍵字都有坑,本篇文章將通過(guò)理論聯(lián)系實(shí)際的方式為大家講解C語(yǔ)言中易混易錯(cuò)以及常考的一些關(guān)鍵字
    2022-05-05
  • C++中的volatile關(guān)鍵字及其作用

    C++中的volatile關(guān)鍵字及其作用

    本文介紹了C++中的volatile關(guān)鍵字,它用于標(biāo)識(shí)變量可能被意外修改,以及編譯器不應(yīng)進(jìn)行優(yōu)化。本文通過(guò)具體的代碼示例,闡述了volatile關(guān)鍵字的作用和使用方法,幫助讀者更好地了解該關(guān)鍵字在C++語(yǔ)言中的應(yīng)用場(chǎng)景和實(shí)現(xiàn)原理
    2023-04-04
  • C語(yǔ)言詳細(xì)分析貪心策略中最小生成樹(shù)的Prime算法設(shè)計(jì)與實(shí)現(xiàn)

    C語(yǔ)言詳細(xì)分析貪心策略中最小生成樹(shù)的Prime算法設(shè)計(jì)與實(shí)現(xiàn)

    最小生成樹(shù)的問(wèn)題還是比較熱門(mén)的,最經(jīng)典的莫過(guò)于Prime算法和Kruskal算法了,這篇博文我會(huì)詳細(xì)講解Prime算法的設(shè)計(jì)思想與具體代碼的實(shí)現(xiàn),不要求數(shù)據(jù)結(jié)構(gòu)學(xué)的有多好,只要跟著我的思路來(lái),一步一步的分析,調(diào)試,終能成就自己,那就讓我們開(kāi)始吧
    2022-05-05
  • C語(yǔ)言動(dòng)態(tài)規(guī)劃點(diǎn)殺dp算法LeetCode炒股習(xí)題案例解析

    C語(yǔ)言動(dòng)態(tài)規(guī)劃點(diǎn)殺dp算法LeetCode炒股習(xí)題案例解析

    這篇文章主要介紹為了C語(yǔ)言動(dòng)態(tài)規(guī)劃點(diǎn)殺dp算法,本文以LeetCode炒股習(xí)題案例來(lái)為大家進(jìn)行詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • C語(yǔ)言中g(shù)etchar和putchar的使用方法詳解

    C語(yǔ)言中g(shù)etchar和putchar的使用方法詳解

    我們知道scanf函數(shù)可以從鍵盤(pán)輸入信息,而printf則可以輸出信息,同樣地,getchar和putchar也有同樣的功能,下面我來(lái)給大家介紹putchar和getchar的使用方法,需要的朋友可以參考下
    2023-08-08
  • C語(yǔ)言?動(dòng)態(tài)內(nèi)存管理全面解析

    C語(yǔ)言?動(dòng)態(tài)內(nèi)存管理全面解析

    動(dòng)態(tài)內(nèi)存是相對(duì)靜態(tài)內(nèi)存而言的。所謂動(dòng)態(tài)和靜態(tài)就是指內(nèi)存的分配方式。動(dòng)態(tài)內(nèi)存是指在堆上分配的內(nèi)存,而靜態(tài)內(nèi)存是指在棧上分配的內(nèi)存,本文帶你深入探究C語(yǔ)言中動(dòng)態(tài)內(nèi)存的管理
    2022-02-02

最新評(píng)論