導航:首頁 > 編程知識 > 如何用c語言編程五角星

如何用c語言編程五角星

發布時間:2024-11-22 04:07:05

❶ 用C語言編一個程序,繪制一個五角星

對最蠢的辦法是用printf函數列印出來!
最好是用for循環!

#include"stdio.h"
main()
{printf("\n * \n");
printf("\n * * \n");
printf("\n * * \n");
printf("\n* * * * * *\n");
printf("\n * * \n");
printf("\n * * * \n");
printf("\n* * * \n");
printf("\n * *\n");
}

❷ 怎麼樣用C語言設計一個五角星,並寫出程序設計方案

設立一個for循環,用一個變數i控制行數,再用一個變數j控制每列印*和' '的個數,利用printf函數輸出字元串的強大控制功能實現。舉例代碼如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
int i,j;
for(j=1,i=0;i<7;i++,i<4 ? j+=4 : j-=4)
printf("%*.*s\n",48+j/2,j,"* * * * * * *");
return 0;
}

❸ 如何用c語言做一個用*組成的實心五角星

1. 在C**** View.cpp中加入:#include"math.h"
2. 在C******View類中添加:
int g; //表示角度
CPoint v[10], prev_v[10]; //五角星的十個點
CDC *pDC; //設備上下文指針
CBrush br,*p_br; //畫刷對象和畫刷指針
CPen pen,*p_pen; //畫筆對象和畫比指針

3. 在構造函數CMyView()添加:
g=0; 角度從0開始
float rad;
int i,t; 將五角星的十個點存入V數組中
for(i=0;i<10;i++)
{rad=float((i*36+18)*3.14/180);
t=i&1?50:25;
v[i].x=int(t*cos(rad));
v[i].y=int(t*sin(rad));
} //紅,綠,藍
br.CreateSolidBrush(RGB(255,255,0));//創建一個實心畫刷
pen.CreatePen(PS_SOLID,2,RGB(0,120,255));設置畫筆
// 初始化畫刷和畫筆:PS_SOLID:實線樣式,2:線寬
4. 在析構造函數~CMyView()中添加:
br.DeleteObject();
pen.DeleteObject();釋放畫筆和畫刷

5. 在OnDraw()函數中加入:
KillTimer(1);//禁止定時器消息
CRect rc; //窗口對象
GetClientRect(&rc); //得到窗口的大小
int x,y,j,x1,y1;
float rad1; // 坐標轉換
x=rc.right/2;
y=rc.bottom/2; //得到窗口的中心坐標
for(j=0;j<359;j+=2)
{rad1=float(j*3.14/180);
x1=int(100*cos(rad1))+x; //畫圓
y1=int(100*sin(rad1))+y;
pDC->SetPixel(x1,y1,RGB(0,0,0)); //畫園上的點

2010-6-4 20:00 回復

圈中打轉
0位粉絲
2樓

}
pDC->SetROP2(R2_NOTXORPEN); //設置繪圖模式
p_br=pDC->SelectObject(&br); //選擇畫筆等GDI繪圖對象
memcpy(prev_v,v,10*sizeof(CPoint));//將五角星的十個點送prev_v數組
pDC->Polygon(prev_v,10); //畫五角星
pDC->SelectObject(p_br); //設置繪圖對象
SetTimer(1,50,NULL); //啟動定時器
6. 在定時器響應函數OnTimer(UINT nIDEvent) 中添加:
7. g+=5; //角度加5
CRect rc;
GetClientRect(&rc);
int x,y,j;
float rad1; //坐標轉換
rad1=float(g*3.14/180);
x=(rc.right/2);
y=rc.bottom/2;
CPoint a[10]; //定義一個臨時的數組存放角度變化後的五角星的十個點
for(j=0;j<10;j++)
{a[j].x=v[j].x+x+int(100*cos(rad1));
a[j].y=v[j].y+y+int(100*sin(rad1));
}
CClientDC *pDC=new CClientDC(this);
pDC->SetROP2(R2_NOTXORPEN);
p_br=pDC->SelectObject(&br);

pDC->Polygon(prev_v,10);
memcpy(prev_v,a,10*sizeof(CPoint));
pDC->Polygon(prev_v,10);

pDC->SelectObject(p_br);
delete pDC;
if (g>359) KillTimer(1); //角度
CView::OnTimer(nIDEvent);

❹ c語言中line畫五角星程序,是線條連成的

用C語言畫圓可以通過編譯程序的方法實現。
程序源代碼:
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int driver=VGA,mode=VGAHI;
int i,num=15,top=50;
int left=20,right=50;
initgraph(&driver,&mode,"");
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,right,left);
ellipse(250,250,0,360,20,top);
rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));
right+=5;
left+=5;
top+=10;
}
getch();
}

❺ 用C語言輸出一個五角星圖案

我用VC6實現了。關鍵代碼如下:
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]);
}

//運行結果

完整的程序給你發到QQ郵箱了!

閱讀全文

與如何用c語言編程五角星相關的資料

熱點內容
有線電視升級失敗 瀏覽:560
火絨安全把文件刪掉了在哪裡找 瀏覽:503
手機qq網路狀態方框 瀏覽:225
哪裡有文件紙袋 瀏覽:873
復制的東西能不能粘貼到空文件夾 瀏覽:876
酒店沒有網路如何繳費 瀏覽:380
win10開機滾動很久 瀏覽:520
可對元數據實例進行的操作有什麼 瀏覽:934
什麼後綴的文件kit 瀏覽:295
word行書字體庫下載 瀏覽:579
iosuc版本歷史版本 瀏覽:14
電影字幕文件製作軟體 瀏覽:723
windows10免密碼登錄 瀏覽:762
iphone5s跑步記步 瀏覽:978
手機網站設計怎麼做好 瀏覽:322
中興路由器修改密碼 瀏覽:391
小米忘記壓縮文件密碼 瀏覽:716
cad哪些字體是形文件 瀏覽:2
word2007寶典pdf 瀏覽:46
lg電視如何連接網路 瀏覽:392

友情鏈接