函数曲线的绘制

    技术2022-08-01  77

    初等函数曲线的简易绘制

    #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++; } }

    运行结果如下

    Processed: 0.008, SQL: 9