请教关于用c画直线的问题

fengyoujing fengyoujing 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
昨天在一本书上看到一个程序,用c画一条斜度小于90度的直线,用的算法是逐点比较法,是在tc底下编译的,结果我今天在调试时实现不了,请高手指点一下,源代码如下:
#include "stdio.h"
#include "stdlib.h"
#include "graphics.h"
#include "math.h"
#define ESC 0×1b

void Initialize(void)
{
int GraphDriver;
int GraphMode;
int ErrorCode;
GraphDriver=DETECT;
initgraph(&GraphDriver,&GraphMode,"");
ErrorCode=graphresult();
if(ErrorCode!=grOK)
{
printf("Graphics System Error:%s\n",grapherrormsg(ErrorCode));
exit(1);
}
}


main()
{
int xo,yo,xa,ya,x,y;
int dx,dy,c,f; /* c为从原点o到点a要走的步数 */
Initialize();
printf("input x,y:");
scanf("%d,%d",&xo,&yo);
printf("xa:%d-639",xo);
scanf("%d",&xa);
printf("ya:0......%d",yo);
scanf("%d",&ya);

dx=xa-xo;dy=yo-ya;
if(xa>=xo&&xa<=639&&ya>=0&&ya<=yo)
{
outtextxy(xo,yo+5,"o");
outtextxy(xa,ya-10,"a");
if(dx>dy) c=dx;
else c=dy;
x=xo;y=yo;f=0;
while(c>=0)
{
putpixel(x,y,14);
if(f>0) {x=x+1;f=f-dy;if(dx>dy) c=c-1;}
else {y=y-1;f=f+dx;if(dx<=dy) c=c-1;}
}
}
else printf ("error");
}

p.s. “0×1b”中的×怎样在tc中加入阿,键盘上没这键阿

...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
fengyoujing
C语言 70,039 成员 243,237 内容