用C语言怎么打印五角星

如题所述

1、获得五个外顶点的坐标:

   int m_xw[5];    //5个X外顶点坐标
    int m_yw[5];    //5个Y外顶点坐标
    void CMyTestView::getCoord()
    {
        int c = 360 / 5; //角度
        int r = 150;
        for (int i = 0; i < 5; i++) 
        {
            m_xw[i] = (int) (cos(i * c * PI / 30 - PI / 2) * (r) + r);
            m_yw[i] = (int) (sin(i * c * PI / 30 - PI / 2) * (r) + r);
        }
    }


2、画线段:
构造函数中调用求顶点坐标的函数求顶点坐标:
   this->getCoord();
然后直接在绘图函数中添加如下代码:

void CMyTestView::OnDraw(CDC* pDC)
{
    CMyTestDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    pDC->MoveTo(m_xw[4], m_yw[4]);
    pDC->LineTo(m_xw[1], m_yw[1]);
    pDC->LineTo(m_xw[3], m_yw[3]);    
    pDC->LineTo(m_xw[0], m_yw[0]);
    pDC->LineTo(m_xw[2], m_yw[2]);
    pDC->LineTo(m_xw[4], m_yw[4]);    
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-27
#include"stdio.h"
main()
{ int x;
for (x=1;x<4;x++)
{if (x==1)
printf(" * \n");

if (x==2)
printf(" * *\n");

if (x==3)
printf(" * * \n");
}

}

OK,希望能帮到你,其实嘛,我也是刚学C,想这道题 可是费了我九牛二虎之力+充分调动我的想象力才做出来的哦!采纳吧~~~
相似回答