C語(yǔ)言實(shí)現(xiàn)在控制臺(tái)打印余弦曲線
需求
在控制臺(tái)打印余弦曲線。
余弦曲線又叫余弦波(cosinwave),是一種來(lái)自數(shù)學(xué)三角函數(shù)中的余弦比例的曲線。也是模擬信號(hào)的代表,與代表數(shù)字信號(hào)的方波相對(duì)。
標(biāo)準(zhǔn)的純余弦函數(shù)公式為:

實(shí)例代碼
/**
* @author: 沖哥 @C語(yǔ)言中文社區(qū)
* @date: 2023/02/14
* @description:
*/
#include <stdio.h>
#include <math.h>
#define PI 3.141592653
#define BIG_SIZE 10 //圖形放大的倍數(shù)
int main() {
int x;//x軸
double y;//y軸
int m;
for (y = 1; y >= -1; y -= 0.1) {//y的取值范圍是-1~1,這里設(shè)置步長(zhǎng)為0.1
m = acos(y) * BIG_SIZE;//計(jì)算y對(duì)應(yīng)的橫坐標(biāo)的值
for (x = 1; x < m; x++) {
printf(" ");//打印*之前的空格
}
printf("*");//打印*
for (; x < 2 * PI * BIG_SIZE - m; x++) {//打印對(duì)稱(chēng)面的空格和*
printf(" ");
}
printf("*\n");
}
}運(yùn)行結(jié)果

代碼分析
繪制余弦曲線用到了反余弦函數(shù)acos(),代碼中需要引入#include <math.h>頭文件,acos(y) 通過(guò)縱坐標(biāo)的值來(lái)求出橫坐標(biāo)的值,確定了橫坐標(biāo)的值,其對(duì)稱(chēng)位置的橫坐標(biāo)值也就可以確定,即用2 * PI減去求出的橫坐標(biāo)值,為了讓打印出的曲線更直觀,代碼里給x軸的值擴(kuò)大了10倍。
補(bǔ)充
除了余弦曲線,當(dāng)然還能繪制正弦曲線呀,下面就是實(shí)現(xiàn)代碼
/****************繪制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
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
**
到此這篇關(guān)于C語(yǔ)言實(shí)現(xiàn)在控制臺(tái)打印余弦曲線的文章就介紹到這了,更多相關(guān)C語(yǔ)言余弦曲線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)奇數(shù)階魔方陣的方法
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)奇數(shù)階魔方陣的方法,涉及數(shù)組及相關(guān)數(shù)學(xué)函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
C++實(shí)現(xiàn)尋找最低公共父節(jié)點(diǎn)的方法
這篇文章主要介紹了C++實(shí)現(xiàn)尋找最低公共父節(jié)點(diǎn)的方法,是數(shù)據(jù)結(jié)構(gòu)中二叉樹(shù)的一個(gè)經(jīng)典算法,有一定的借鑒價(jià)值,需要的朋友可以參考下2014-09-09
C語(yǔ)言字符函數(shù)和字符串函數(shù)示例詳解
本文詳細(xì)介紹了C語(yǔ)言中字符分類(lèi)函數(shù)、字符轉(zhuǎn)換函數(shù)及字符串操作函數(shù)的使用方法,并通過(guò)示例代碼展示了如何實(shí)現(xiàn)這些功能,通過(guò)這些內(nèi)容,讀者可以深入理解并掌握C語(yǔ)言中的字符串處理技巧,感興趣的朋友一起看看吧2025-03-03
C語(yǔ)言中qsort函數(shù)用法實(shí)例小結(jié)
這篇文章主要介紹了C語(yǔ)言中qsort函數(shù)用法,包括了針對(duì)各種數(shù)據(jù)類(lèi)型參數(shù)的排序,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-09-09

