网站建设资讯

NEWS

网站建设资讯

c语言输出2次函数图像 一次函数图像二次函数图像

C语言写二次函数

首先你已经很清楚的说明了你这个程序是用C语言写二次函数的,而当a=0时,就不是二次函数了,应该按照一次函数来进行计算,否则 一个数除以0就没有意义了.~

创新互联的团队成员不追求数量、追求质量。我们经验丰富并且专业,我们之间合作时就好像一个人,协同一致毫无保留。创新互联珍视想法,同时也看重过程转化带来的冲击力和影响力,在我们眼中,任何细节都不容小觑。一直致力于为企业提供从国际域名空间、网站策划、网站设计、商城网站制作、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。

#include stdio.h

#include stdlib.h

#include math.h

int main()

{

float a,b,c;

float x1,x2,m;

printf("input number a=:");

scanf("%f",a);

printf("input number b=:");

scanf("%f",b);

printf("input number c=:");

scanf("%f",c);

if(a==0)

printf("一根:%f\n",c*(-1)/b);

else if(a==0b==0)

printf("无意义!");

else

{

m=b*b-4*a*c;

if(m0)

{

printf("两根\n");

printf("x1=%f\n",(-b+sqrt(m))/(2*a));

printf("x2=%f\n",(-b-sqrt(m))/(2*a));

}

else if(m==0)

printf("x1=x2=%f\n",x1);

}

else

printf("无实根\n");

}

return 0;

}

用c语言画一个2次函数图像

#include windows.h

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[]=TEXT("二次函数");

HWND         hwnd;

MSG          msg;

WNDCLASS     wndclass;

wndclass.style=CS_HREDRAW|CS_VREDRAW;

wndclass.lpfnWndProc=WndProc;

wndclass.cbClsExtra=0;

wndclass.cbWndExtra=0;

wndclass.hInstance=hInstance;

wndclass.hIcon=LoadIcon(NULL, IDI_APPLICATION);

wndclass.hCursor=LoadCursor(NULL, IDC_ARROW);

wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

wndclass.lpszMenuName=NULL;

wndclass.lpszClassName=szAppName;

if (!RegisterClass(wndclass))

{

MessageBox(NULL, TEXT("Error"),

szAppName, MB_ICONERROR);

return 0;

}

hwnd=CreateWindow(szAppName, TEXT("二次函数"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, CW_USEDEFAULT,

CW_USEDEFAULT, CW_USEDEFAULT,

NULL, NULL, hInstance, NULL);

ShowWindow(hwnd, iCmdShow);

UpdateWindow(hwnd);

while (GetMessage(msg, NULL, 0, 0))

{

TranslateMessage(msg);

DispatchMessage(msg);

}

return msg.wParam;

}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

static int  cxClient, cyClient;

const static int n=1000;

HDC         hdc;

int         i;

PAINTSTRUCT ps;

POINT       apt[n];

switch (message)

{

case WM_SIZE:

cxClient=LOWORD(lParam);

cyClient=HIWORD(lParam);

return 0;

case WM_PAINT:

hdc=BeginPaint(hwnd, ps);

MoveToEx(hdc, 0, cyClient/2, NULL);

LineTo(hdc, cxClient, cyClient/2);

MoveToEx(hdc, cxClient/2, 0, NULL);

LineTo(hdc, cxClient/2, cyClient);

for (i=0; i  n;++i)

{

apt[i].x=cxClient/4+i; apt[i].y=cyClient-(cyClient/2-i)*(cyClient/2-i)/300-cyClient/2+100;

}

Polyline(hdc, apt, n);

return 0;

case WM_DESTROY:

PostQuitMessage(0);

return 0;

}

return DefWindowProc(hwnd, message, wParam, lParam);

}

采用c语言绘制任意函数曲线(双曲线,二次函数,一次函数)??怎么做??

在c的标准库中有graphic.h头文件,实现了很多画图函数 比如 lineto, moveto, arc,(函数名可能记错,好久没用了-.-!)

直线:起点加终点就行。

二次曲线,比如抛物线,那就以定长拆分成小直线。双曲线同理。

抛物线,和双曲线用定长拆分,估计很难计算。要是精度要求不高就根据情况改成定x,或者定y偏移的拆分,要是精度要求高那就去找直线拟合曲线的算法或者双圆弧拟合曲线的算法。

怎样在C语言里输出X的2次方

有两种方式可以表示X的2次方。

1 直接写表达式,即

X*X

也就是X的二次方了。

输出时根据X的类型进行输出,如X本身为int型,则用%d输出,如X本身为unsigned int型,那么就用%u输出。其它类型类似。

2 利用数学函数pow。

在引用math.h时,可以引用函数

double pow(double x, double y);来计算x的y次方。

于是X的2次方可以写作

pow(X,2);

这时可以用%lf输出结果。

C语言绘制而次函数曲线~~高手请进~~~!!!

我又试了一下 还是可以运行,输入a,b,c 也可以的 。 运行后,屏幕左上角不是有三个值输入输出的显示吗

你所说的“无法输入a b c的值”能不能说的再具体一些。

#includegraphics.h

#define BKC 9

#define COLOR 8 /* 抛物线颜色*/

main()

{int gd=DETECT,gm,p=1,i;

double a,b,c,x,y,x1,y1,t;

char ch;

initgraph(gd,gm,"");

while(p==1) /*主循环体*/

{

setbkcolor(BKC);

setcolor(14);

setlinestyle(0,0,1);

rectangle(0,0,639,479); /*画边框*/

line(20,460,639,460); /*画横坐标*/

line(20,0,20,460); /*画纵坐标*/

/* outtextxy(8,467,"-180");*/

setlinestyle(1,0,1);

setcolor(15);

for(i=20;i640;i+=20)line(i,460,i,0);

for(i=460;i0;i-=20)line(20,i,640,i);

setcolor(12);

setlinestyle(SOLID_LINE,0,3);

line(300,460,300,0);

line(0,360,640,360);

setcolor(15);

gotoxy(1,1);

printf("Please Enter a:" );

scanf("%lf",a);

printf("Please Enter b:" );

scanf("%lf",b);

printf("Please Enter c:" );

scanf("%lf",c);

gotoxy(300,440);

printf("y= %5.2f *x^2 + %5.2f *x + %5.2f ",a,b,c);

setlinestyle(SOLID_LINE,0,1);

moveto(200,460-(a*(0-100)*(0-100)+b*(0-100)+c+100));

for(t=0.0;;t+=0.0002)

{

x=t+200;

y=a*(t-100)*(t-100)+b*(t-100)+c+100;

x1=x; /*画笔定位在用户坐标原点 (200,460) */

y1=460-y;

if(x1640.0||x10||x640) break;

if(y1=480.0 y=480) lineto(x1,y1);

}

setcolor(12);

outtextxy(250,8,"Finished! Continue(Y/N)?");

p=-1;

while(p==-1)

{

ch=getch();

if(ch=='y'||ch=='Y') { cleardevice();p=1;}

else if(ch=='n'||ch=='N') p=0;

else outtextxy(220,200,"ERROR! Please Press 'Y' or 'N'_" );

}

}

closegraph();

}


分享名称:c语言输出2次函数图像 一次函数图像二次函数图像
网站链接:http://cdweb.net/article/hjehio.html