打印sin函数

#include <iostream>
#include<cmath> 

using namespace std;
int main(int argc, char** argv) 
{/*整型数组sin2[100]存放正弦函数的值,将区间[-PI,PI]分为80等份*/
  
   const double PI=3.14159265;
  #define pi 40
      int j,k,sin2[160];
      double x,t;
      t=(2*PI)/80;
      for (j=0,x=-PI;x<5*PI;x=x+t,j++)
      
       sin2[j]=floor( 15*sin(x)+0.5);//返回最大整数 
       
          cout<<"2PI =80   sin2[j]=floor( 15*sin(x)+0.5)计算这个函数的图像 ";printf("\n");
      for (j=0;j<=160;j++)//j是列 
       if(j%pi==0)
    {
      cout <<left ;cout<<(j/40)-1<<"pi";
      for(int i=0;i<36;i++)
     cout<<" ";
	}	
	
	   printf("\n");
      for (k=16;k>=-15;k--)//k是行 
     {
       for (j=0;j<=160;j++)//j是列 
         if ((j==40)||(j==80)||(j==120)||(j==160))
           putchar('|');//40列打印一条竖线 
         else
           if(sin2[j]==k)//这行有数值 
             putchar('*');//那就画sin上的点 
         else
           if (k!=0)           
             putchar(' ');
         else//画横轴 
             putchar('-');
             
     {	 cout <<left <<" ";      
      cout<<k;  
         printf(" \n");  } 
      }
		cin.get();
		cin.get();
		 return 0;

}

原理 数组保存接近sin(x)的值 也就是Y值 得意
相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金