函数曲线的绘制

初等函数曲线的简易绘制

#include <stdio.h>
#include <math.h>
#include <string.h> 
#include<windows.h>  
int main() 
{   int m=1;
	while(m>0)
	{
      int i,j,sc[25][80]={0};char s[10];
      double x,y,pi,xmax,xmin,ymin,ymax;
      pi=3.1415926535;
      xmin=-2;
      xmax=2;
      ymin=-2;
      ymax=2;
      i=(int)(-24.0*ymax/(ymin-ymax));
      for(j=0;j<80;j++)
         sc[i][j]=2;
      j=(int)(-80.0*xmin/(xmax-xmin));
      for(i=0;i<25;i++)
         sc[i][j]=3;
	  printf("请输入要绘制的函数表达式:\n");
	  gets(s);
	  if(strcmp(s,"y=x*x")==0)                         //对y=x*x画函数图
	  {                                                   
      for(i=0;i<25;i++)
          for(j=0;j<80;j++)
           {    
                 x=(xmax-xmin)*j/80.0+xmin;
                 y=(ymin-ymax)*i/24.0+ymax;
                 if(fabs(y-x*x)<0.05) sc[i][j]=1;
		  }  
	  } 
	  if(strcmp(s,"y=sinx")==0)                            //对y=sinx画函数图
	  {
		  for(i=0;i<25;i++)
			  for(j=0;j<80;j++)
			  {    
				  x=(xmax-xmin)*j/80.0+xmin;
				  y=(ymin-ymax)*i/24.0+ymax;
				  if(fabs(y-sin(x))<0.05) sc[i][j]=1;
			  }  
	  } 
	  if(strcmp(s,"y=cosx")==0)                             //对y=cosx画函数图
	  {
		  for(i=0;i<25;i++)
			  for(j=0;j<80;j++)
			  {    
				  x=(xmax-xmin)*j/80.0+xmin;
				  y=(ymin-ymax)*i/24.0+ymax;
				  if(fabs(y-cos(x))<0.05) sc[i][j]=1;
			  }  
	  } 
	 
         for(i=0;i<25;i++)
		 {                                          //建立坐标系
                 printf("\n");
                 for(j=0;j<79;j++)
                   switch(sc[i][j])
                 {
                 case 0:printf(" ");break;
                 case 1:printf("*");break;
                 case 2:printf("-");break;
                 case 3:printf("|");break;
                  }
             }
	  
		 int z;
		 scanf("%d",&z);                          //屏幕清零
		 if(z<10)
			 system("cls");
		 m=m++;
	}

}

运行结果如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值