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

简介: 140.递归法绘制三角形图案
#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();
}
相关文章
|
Java Linux
linux服务器解压zip文件
linux服务器解压zip文件
503 0
使用LamdbaUpdateWrapper的setSql作用及风险
使用LamdbaUpdateWrapper的setSql作用及风险
使用LamdbaUpdateWrapper的setSql作用及风险
|
7月前
|
监控 数据可视化 Java
调试技巧 - 用Linux命令排查Java问题
总的来说,使用Linux命令来排查Java问题,需要一定的实践经验和理论知识。然而,只要我们愿意花时间深入了解这些工具,我们就能够熟练地使用它们来分析和解决问题。此外,这些工具只是帮助我们定位问题,真正解决问题需要我们对Java和JVM有深入的理解,并能够读懂和分析代码。
448 13
|
10月前
|
数据可视化 数据挖掘
RNA-seq 差异分析的细节详解 (6)
RNA-seq 差异分析的细节详解 (6)
267 38
RNA-seq 差异分析的细节详解 (6)
|
SQL 存储 关系型数据库
从Hive建表语句到MySQL的转换
【8月更文挑战第11天】
733 7
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
643 5
|
机器学习/深度学习 人工智能 搜索推荐
AI与未来医疗:重塑健康的双刃剑
【10月更文挑战第6天】 人工智能作为现代科技的巅峰之作,已经渗透进我们生活的方方面面。从语音助手到自动驾驶,AI不仅改变了我们的日常,更在各个专业领域,特别是医疗行业,扮演着愈发重要的角色。本文探讨了AI在未来医疗中的应用及其潜在影响,揭示了这把“双刃剑”的机遇与挑战。
410 1
【数据结构】二叉树的三种遍历(非递归讲解)
【数据结构】二叉树的三种遍历(非递归讲解)
228 1
|
网络安全 C++ Windows
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
|
Shell Linux 开发工具
Anaconda安装后报错 -bash: conda: command not found 如何处理
【6月更文挑战第26天】Anaconda安装后报错 -bash: conda: command not found 如何处理
4202 4