使用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) [Page]
printf(/"*/");
else
printf(/" /");
}
printf(/" /");
}
system(/"pause/");
return 0 ;
}
NO.2
2.绘制正弦曲线
在屏幕上用“*”显示0-360度的余弦函数sin(x)曲线。
1.
/**//*
sin() line.
62 of line width
www.bianceng.cn
*/
#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) [Page]
...{
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 ;
}