程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言的程序設計

c語言的程序設計

編輯:C語言問答

c語言的程序設計

10 題目:遞歸法繪制三角形圖案 要求:遞歸法繪制三角形圖案。整個遞歸三角形圖案是有大小不同的許多三角形組成的,除了最大的三角形除外,其余三角形都是聯絡包含其他的三角形的三邊中點構成的。程序運行效果如圖所示 n=2: n=7

最佳回答:


#include <stdio.h>
#include <graphics.h>
typedef struct
{
    int x;
    int y;
}point;
point mp(point s, point t)
{
  point m;
  m.x = (s.x + t.x)/2;
  m.y = (s.y + t.y)/2;
  return m;
}
void myline(point s, point t)
{
    line(s.x, s.y, t.x, t.y);
}
void draw(point p1, point p2, point p3, int n)
{
    if(n <= 0) return;
    myline(p1,p2);
    myline(p1,p3);
    myline(p2,p3);
    draw(p1, mp(p1,p2), mp(p1,p3), n-1);
    draw(p2, mp(p1,p2), mp(p2,p3), n-1);
    draw(p3, mp(p1,p3), mp(p2,p3), n-1);
    draw(mp(p1,p2), mp(p1,p3), mp(p2,p3), n-1);


}
int main( )
{   point p1={300,100},p2={100,400},p3={500,400};
    int n;
    initgraph(VGA,VGAHI, "");
    for(n = 1; n <= 7; n++)
    {
        draw(p1, p2, p3,n);
        getch();
    }
    getch();
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved