2026年11月2日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
只看作者:洞房 查看全部
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[怀旧国机]

C语言绘制正余弦曲线的方法

[复制链接]
查看 158 回复 0
楼主 发表于 | 查看全部
2 人收藏

今天来学习一个小小的实例,使用C语言实现在屏幕上用“*”显示0-360度的余弦函数cos(x)曲线。

模拟法:

#include <stdio.h>#include <math.h>int main(void)...{ double i ; int j,k; for(i=1.0 ; i>=-0.4 ; i -=0.1) ...{ j = (int)(acos(i)*10) ; for(k=0 ; k< j ; k++) printf(“ “); printf(“*“); for(; k < 62-j ; k++) printf(“ “); printf(“* “); } printf(“the acos: “); for(i=1.0 ; i>= -1.0 ; i-=0.1) printf(“%f->%f “,i,acos(i)); system(“pause“); return 0 ;}利用余弦函数的特性(对称性)

#include <stdio.h> #include <math.h> int main(void) ...{ double i,k ; int j ; for(i=1.0 ; i>= -1.0 ; i-= 0.1 ) ...{ k = (int)(acos(i)*10) ; for(j=0 ; j<62 ; j++) ...{ if ( j == k || j == 62 - k) printf(“*“); else printf(“ “); } printf(“ “); } system(“pause“); return 0 ;}NO.2

2.绘制正弦曲线

在屏幕上用“*”显示0-360度的余弦函数sin(x)曲线。

1.

/*sin() line.62 of line width*/#include <stdio.h>#include <math.h>int main(void)...{ int j ,k,d,h; double i ; for(i=1.0 ; i> 0.0; i-=0.1) ...{ k = (int)(asin(i)*10) ; for(j=0; j< k ; j++) /**//*print the left */ printf(“ “); printf(“*“); for( ; j< 31-k ; j++) printf(“ “); printf(“* “); } for(i=0.0 ; i>= -1.0 ; i-= 0.1) ...{ k = (int)(asin(i)*10) ; for(j=0; j< k+33; j++) printf(“ “); printf(“*“); for(; j< 62 - k ; j++) printf(“ “); printf(“* “); } for(i=1.0 ; i>=-1.0 ; i-=0.1) printf(“%lf->%lf “,i,asin(i)) ; system(“pause“); return 0 ;}2.

#include <stdio.h>#include <math.h>int main(void)...{ int j,k ; double i ; for(i=1.0 ; i>= -1.0 ; i -= 0.1) ...{ k = (int)(asin(i)*10); printf(“k=%d “,k); for(j= 0 ; j<= 62 ; j++) if ( j == k || j == 62 + k || j == 31-k ) /**//*利用对称性和周期性求解*/ printf(“*“); else printf(“ “); printf(“ “); } system(“pause“); return 0;}

登录回复

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块