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文件
408 0
java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
211 0
使用LamdbaUpdateWrapper的setSql作用及风险
使用LamdbaUpdateWrapper的setSql作用及风险
使用LamdbaUpdateWrapper的setSql作用及风险
|
5月前
|
监控 数据可视化 Java
调试技巧 - 用Linux命令排查Java问题
总的来说,使用Linux命令来排查Java问题,需要一定的实践经验和理论知识。然而,只要我们愿意花时间深入了解这些工具,我们就能够熟练地使用它们来分析和解决问题。此外,这些工具只是帮助我们定位问题,真正解决问题需要我们对Java和JVM有深入的理解,并能够读懂和分析代码。
329 13
|
8月前
|
数据可视化 数据挖掘
RNA-seq 差异分析的细节详解 (6)
RNA-seq 差异分析的细节详解 (6)
216 38
RNA-seq 差异分析的细节详解 (6)
|
SQL 存储 关系型数据库
从Hive建表语句到MySQL的转换
【8月更文挑战第11天】
644 7
|
11月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
567 5
【数据结构】二叉树的三种遍历(非递归讲解)
【数据结构】二叉树的三种遍历(非递归讲解)
166 1
|
运维 数据可视化 BI
低代码/无代码平台优势
低代码/无代码平台优势
|
网络安全 C++ Windows
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试