初等函数曲线的简易绘制
#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)
{
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)
{
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)
{
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++;
}
}
运行结果如下
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)