140.递归法绘制三角形图案

举报
C语言与CPP编程 发表于 2022/05/10 23:55:08 2022/05/10
【摘要】 #include <graphics.h> #include <stdio.h> void tria(xa,ya,xb,yb,xc,yc,n) int xa,ya,xb,yb,xc,yc,n; { int xp,yp,xq,yq,xr,yr; if(n>0) { xp=(xa+xb)/2; y...
#include <graphics.h>
#include <stdio.h>
void tria(xa,ya,xb,yb,xc,yc,n)
int xa,ya,xb,yb,xc,yc,n;
{
	int xp,yp,xq,yq,xr,yr;
	if(n>0)
	{
		xp=(xa+xb)/2;
		yp=(ya+yb)/2;
		xq=(xb+xc)/2;
		yq=(yb+yc)/2;
		xr=(xc+xa)/2;
		yr=(yc+ya)/2;
		moveto(xp,yp);
		lineto(xq,yq);
		lineto(xr,yr);
		lineto(xp,yp);
		tria(xa,ya,xp,yp,xr,yr,n-1);
		tria(xb,yb,xq,yq,xp,yp,n-1);
		tria(xc,yc,xr,yr,xq,yq,n-1);
	}
}

void main()
{
	int n,xa=10,ya=10,xb=10,yb=470,xc=630,yc=470;
	int gdriver=DETECT,gmode;
	printf("Input recursion depth( for exmaple, 7): ");
	scanf("%d",&n);
	initgraph(&gdriver,&gmode,"c:\\tc");
	cleardevice();
	setbkcolor(8);
	setcolor(2);
	moveto(xa,ya);
	lineto(xb,yb);
	lineto(xc,yc);
	lineto(xa,ya);
	tria(xa,ya,xb,yb,xc,yc,n);
	getch();
	closegraph();
}

文章来源: blog.csdn.net,作者:程序员编程指南,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41055260/article/details/124665510

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。