我来写个turbo c下的吧........
#include <conio.h> /*getch函数的头文件*/
#include <graphics.h> /*graphics图形库头文件*/
#define XCENT 320 /*定义宏常量代表 函数图像原点横坐标*/
#define YCENT 240 /*定义宏常量代表 函数图像原点纵坐标*/
#define WIDTH (2*XCENT) /*定义宏常量代表 屏幕的宽*/
#define HEIGHT (2*YCENT) /*定义宏常量代表 屏幕的高*/
#define LEN 50 /*定义宏常量代表屏幕上多少个像素点表示数轴上的单位长度1*/
int main()
{
/*turbo c 图形系统 以屏幕左上角为(0,0),右下角为(640,480),
x轴向右,y轴向下,而我们希望函数图像原点在屏幕中心位置,且y轴向上,
因此需要进行坐标变换*/
int x; /*横坐标变量*/
int y; /*纵坐标变量*/
int gdriver = VGA; /*图形驱动VGA*/
int gmode = VGAHI; /*图形驱动的模式VGAHI*/
initgraph(&gdriver, &gmode, "C:\\TC20\\BGI"); /*初始化graphics图形库,指定BGI驱动的路径*/
for(x=0;x<WIDTH;x++,x++,x++) /*循环描点*/
{
/*横坐标从左边的0到右边的WIDTH变化,计算出y坐标,
乘1.0编得到了浮点数,加0.5是为了四舍五入,
强制转换为int是使数据类型保持都为int型*/
y = YCENT - (int)(1.0*(x-XCENT)*(x-XCENT)/LEN+0.5);
if(y<0||y>HEIGHT) /*如果y小于0或大于HEIGIT,就说明点在640*480的矩形外画不了,跳过*/
continue;
putpixel(x, y, GREEN); /*在(x, y) 用绿色画点*/
}
getch(); /*等待键盘输入, 使程序暂停*/
closegraph(); /*按了键盘就执行到这里,关闭图形模式*/
return 0; /*主函数返回,程序结束*/
}