导航:首页 > 编程知识 > 如何用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

友情链接