edit_note帖子
477
stars积分
406,560
event加入
2012-05-02
怀旧国机
C语言绘制正余弦曲线的方法
schedule发表于 2012-12-02 17:12:00
visibility查看 157
chat_bubble回复 0
#1 楼主
今天来学习一个小小的实例,使用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;}
模拟法:
#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;}
forum
暂无回复,快来抢沙发!
登录 后才能回复
flag举报帖子