A. 用c語言怎麼列印五角星
1、獲得五個外頂點的坐標:
intm_xw[5];//5個X外頂點坐標
intm_yw[5];//5個Y外頂點坐標
voidCMyTestView::getCoord()
{
intc=360/5;//角度
intr=150;
for(inti=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();
然後直接在繪圖函數中添加如下代碼:
voidCMyTestView::OnDraw(CDC*pDC)
{
CMyTestDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
//TODO:adddrawcodefornativedatahere
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]);
}
B. 用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. 急!請問,如何用C語言畫一個五角星(用*組成)
我自己弄出來了,不好意思,我自己來回答了。
程序如下:
#include<stdio.h>
void
main()
{
int
i1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4;
printf("Let's
draw
a
five
pointed
star
below:\n");
for(i1=1;i1<6;i1++)
/*這是五角星的上面一個角*/
{
for(j1=1;j1<19-i1;j1++)
/*這是空格*/
printf("
");
for(k1=1;k1<=2*i1-1;k1++)
/*這是「*」*/
printf("*");
printf("\n");
}
for(i2=1;i2<5;i2++)
/*這是五角星的中間兩個角*/
{
for(j2=1;j2<3*i2-3;j2++)
printf("
");
for(k2=1;k2<=42-6*i2;k2++)
printf("*");
printf("\n");
}
for(i3=1;i3<3;i3++)
/*這是中間與下部相接的部分*/
{
for(j3=1;j3<12-i3;j3++)
printf("
");
for(k3=1;k3<=12+2*i3;k3++)
printf("*");
printf("\n");
}
for(i4=1;i4<5;i4++)
/*這是五角星的下面兩個角*/
{
for(j4=1;j4<10-i4;j4++)
printf("
");
for(k4=1;k4<=10-2*i4;k4++)
printf("*");
for(m4=1;m4<6*i4-3;m4++)
printf("
");
for(n4=1;n4<=10-2*i4;n4++)
printf("*");
printf("\n");
}
printf("Congratulations!\nWe've
successfully
drawn
a
beautiful
pentagon,haven't
we?\n(*^_^*)\n");
D. 用c語言for語句嵌套畫出五角星
#include <stdio.h>
int main(void)
{
int i,j;
for(i=0;i<6;i++)
{
for(j=i;j<30;j++)
printf(" ");
for(j=1;j<=2*i+1;j++)
printf("*");
printf("
");
}
for(i=0;i<4;i++)
{
for(j=i;j<i*4+12;j++)
printf(" ");
for(j=1;j<38-i*6;j++)
printf("*");
printf("
");
}
for(i=0;i<2;i++)
{
for(j=1;j<24-i;j++)
printf(" ");
for(j=1;j<16+i*2;j++)
printf("*");
printf("
");
}
for(i=0;i<21;i++)
printf(" ");
for(i=0;i<8;i++)
printf("*");
for(i=0;i<3;i++)
printf(" ");
for(i=0;i<8;i++)
printf("*");
printf("
");
for(i=0;i<20;i++)
printf(" ");
for(i=0;i<6;i++)
printf("*");
for(i=0;i<9;i++)
printf(" ");
for(i=0;i<6;i++)
printf("*");
printf("
");
for(i=0;i<19;i++)
printf(" ");
for(i=0;i<4;i++)
printf("*");
for(i=0;i<15;i++)
printf(" ");
for(i=0;i<4;i++)
printf("*");
printf("
");
for(i=0;i<18;i++)
printf(" ");
for(i=0;i<2;i++)
printf("*");
for(i=0;i<21;i++)
printf(" ");
for(i=0;i<2;i++)
printf("*");
printf("
* *
");
return 0;
}
E. 如何用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);
F. c語言程序設計用for語句打出星星星
#include<stdio.h>
intmain()
{intn,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=i+1-n;j<2*i+1;j++)
printf((j>=0&&j<=2*i)?"*":"");
printf(" ");
}
for(i=n-2;i>=0;i--)
{for(j=i+1-n;j<2*i+1;j++)
printf((j>=0&&j<=2*i)?"*":"");
printf(" ");
}
return0;
}
G. 用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郵箱了!
H. 求教,用c語言,循環語句輸出一個五角星,帶運行圖。
提供示例代碼供參考:
#include<stdio.h>
voidmain()
{
inti1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4;
printf(" ");
for(i1=1;i1<6;i1++)/*這是五角星的上面一個角*/
{
for(j1=1;j1<19-i1;j1++)
printf("");
for(k1=1;k1<=2*i1-1;k1++)
printf("*");
printf(" ");
}
for(i2=1;i2<5;i2++)/*這是五角星的中間兩個角*/
{
for(j2=1;j2<3*i2-3;j2++)
printf("");
for(k2=1;k2<=42-6*i2;k2++)
printf("*");
printf(" ");
}
for(i3=1;i3<3;i3++)/*這是中間與下部相接的部分*/
{
for(j3=1;j3<12-i3;j3++)
printf("");
for(k3=1;k3<=12+2*i3;k3++)
printf("*");
printf(" ");
}
for(i4=1;i4<5;i4++)/*這是五角星的下面兩個角*/
{
for(j4=1;j4<10-i4;j4++)
printf("");
for(k4=1;k4<=10-2*i4;k4++)
printf("*");
for(m4=1;m4<6*i4-3;m4++)
printf("");
for(n4=1;n4<=10-2*i4;n4++)
printf("*");
printf(" ");
}
printf(" ");
}
運行截圖:
I. c語言做閃閃發亮的五角星
#include<stdlib.h>
#include<stdio.h>
#include<ctime>
void printf()
{
printf(" *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * * * * * * * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * * *\n");
printf(" * * * *\n");
printf(" * * * *\n");
printf(" * *\n");
}
void delay()
{
for(long i=0;i<99999999;i++);//====自己改變值改變頻率
}
int main()
{
while(1){
delay();
printf();
system("cls");
}
return 0;
}
希望回答能幫到你,哪裡不清楚再問。
J. C語言輸出一個五角星
int x;
int y;
for(;x<7;x++)
記得初始化,又不是靜態局部變數!
你得加幾句換行語句。
下次寫的時候,盡量加幾句注釋。