用C语言绘制正余弦曲线

No.1

绘制余弦曲线

在屏幕上用“*”显示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 ;
}
   


 

你可能感兴趣的:(用C语言绘制正余弦曲线)