【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《用C语言编程绘制函数的图像源程序》,欢迎阅读!
![语言编程,源程序,绘制,函数,图像](/static/wddqxz/img/rand/big_30.jpg)
#include #include #include
float a,b,c,xmin,xmax,max; /*定义全局变量*/ void menu()
{printf("\n************************************WELCOME*************************************\n");
printf("\n 1.输入参数"); printf("\n 2.输入x的范围"); printf("\n 3.画函数图像"); printf("\n 4.退出");
printf("\n********************************************************************************\n"); }
fun1() {
printf("输入 a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c); /*输入系数a,b,c*/ }
fun2() /*输入x范围*/ {
printf("输入 xmin,xmax\n"); scanf("%f,%f",&xmin,&xmax); }
funmax() /*求出x轴最大范围*/ {
float m,n; if(xmin<0) m=-xmin; else
m=xmin; if(xmax<0) n=-xmax; else
n=xmax; if(m>=n) max=m; else
max=n; }
float funx(float max_x) /*求出x轴对应系数*/ {
return(max_x/2/max); }
float funy(float max_y) /*求出y轴对应系数*/ {
float d;
d=max_y/2/(a*max*max+b*max+c); if(d>0.6) d=0.6; if(d<0.0026) d=0.0026; return(d); }
fun3() {
int max_x,max_y;
int graphdriver=DETECT,graphmode; float x1,y1,x2,y2,x,coe_x,coe_y;
initgraph(&graphdriver,&graphmode,""); /*图形初始化*/ cleardevice(); /*清屏*/
max_x=getmaxx(); /*求出屏幕最大横坐标*/ max_y=getmaxy(); /*求出屏幕最大横坐标*/ funmax();
coe_x=funx(max_x); coe_y=funy(max_y);
line(0,240,640,240); /*画直线*/ line(320,0,320,480); line(640,240,635,235); line(640,240,635,245); line(320,0,315,5); line(320,0,325,5);
outtextxy(320,240,"(0,0)"); /*在固定点输出字符串*/ outtextxy(620,240,"x"); outtextxy(320,10,"y");
x1=max_x/2+xmin*coe_x,y1=max_y/2-(a*xmin*coe_x*xmin*coe_x+b*xmin*coe_x+c)*coe_y; moveto((int)x1,(int)y1);
for(x=xmin*coe_x;x<=xmax*coe_x;x++) {
x2=max_x/2+x,y2=max_y/2-(a*x*x+b*x+c)*coe_y; lineto((int)x2,(int)y2); }
getch();
closegraph(); /*关闭图形函数*/ }
main() {
int n;
menu(); while(1) {
scanf("%d",&n); switch(n)
{ case 1:fun1();break; case 2:fun2();break; case 3:fun3();break; case 4:exit(0);
default:printf("\n error \n"); } } }
本文来源:https://www.wddqxz.cn/873c4084a6c30c2259019ea0.html