#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==0&&b==0)
printf("无意义!")
else
{
m=b*b-4*a*c
if(m>0)
{
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
}
#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)
m=b*b-4*a*c
if(m>=0&&a!=0){
if(m>0){
x1=(-b+sqrt(m))/(2*a)
x2=(-b-sqrt(m))/(2*a)
printf("两根\n")
printf("x1=%f\n",x1)
printf("x2=%f\n",x2)}
else
printf("一根\n")
printf("x1=x2=%f\n",x1)}
else
{
if(a=0 &&b!=0)printf("根是x=-c/b")
if(a=0&&b=0) printf("为常函数");
if(a!=0)printf("无根\n")
}
system("PAUSE")
return 0}
#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)
}