还是不太对头啊, 我直接放完整程序算了
#include<conio.h>
#include<graphics.h>
#include<math.h>
#define pi 3.14159265
void DrawCoord();
void Drawstg();
void Drawsin();
void initgr(void)
{
int driver,mode;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
}
int main(void)
{
initgr();
DrawCoord();
Drawstg();
double Mysin(const double m,const int n);
Drawsin();
getch();
closegraph();
return 0;
}
void DrawCoord() /*画坐标系*/
{
line(200,0,200,400); /*y轴*/
line(0,200,400,200); /*x轴*/
line(200,0,195,5); /*箭头*/
line(200,0,205,5);
line(400,200,395,195);
line(400,200,395,205);
outtextxy(180,10,"y"); /*标出y轴*/
outtextxy(380,180,"x"); /*标出x轴*/
outtextxy(210,210,"O");/*标出原点*/
}
void Drawstg()/*标出刻度尺*/
{
int x,y,i;
x=200,y=400;
for(i=0;i<400;i++)
{
line(x+5,y,x,y);
y-=10;
}
x=400,y=200;
for(i=0;i<400;i++)
{
line(x,y-5,x,y);
x-=10;
}
}
double Mysin(const double m,const int n)
{
int i;
double y,fenzi,fenmu,xishu;
fenmu=1,y=m;
for(i=2;i<n;i++)
{
fenzi=pow(m,2*i-1);
fenmu=(2*i-1)*(2*i-2)*fenmu;
xishu=pow((0-1),2*n-1);
y+=xishu*fenzi/fenmu;
}
return y;
}
void Drawsin()/*画出sin函数*/
{
int x;
double y,p,q;
moveto(200,200);
for(x=200;x<=(40*pi+200);x=(x+1))
{
//double Mysin(const double m,const int n);
p=0.05*(x-200);
q=Mysin(p,1000);
y=(0-100*q)+200;
lineto(x,y);
}
}
这个是画出来的图