我用C写了一个代码来实现DDA画线算法。这条线总是在左上角生成并且很细,我希望这条线在屏幕中间。谁能告诉我有什么问题?我的代码:
#include<stdio.h>
#include<graphics.h>
#include<math.h>
void main()
{
int x,y,x1,y1,x2,y2,temp;
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
printf("Enter the x1,y1:\n");
scanf("%d %d",&x1,&y1);
printf("Enter the x2,y2:\n");
scanf("%d %d",&x2,&y2);
int dx=abs(x2-x1);
int dy=abs(y2-y1);
if(dx>dy)
{
temp=dx;
}
else
{
temp=dy;
}
float xin=dx/temp;
float yin=dy/temp;
x=x1;
y=y1;
for(int k=0; k<temp; k++)
{
x=x+xin;
y=y+yin;
putpixel(x,y,RED);
delay(100);
}
getch();
closegraph;
}