用c语言画出一个五角星图案
opengl教程c语言版
OpenGL教程(c语言)1.第一课:说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧?但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。
本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。
1、与C语言紧密结合。
OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。
如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。
2、强大的可移植性。
微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。
而OpenGL不仅用于Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。
并且,OpenGL的基本命令都做到了硬件无关,甚至是平台无关。
3、高性能的图形渲染。
OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL 提供强力支持,激烈的竞争中使得OpenGL性能一直领先。
总之,OpenGL是一个很NB的图形软件接口。
至于究竟有多NB,去看看DOOM3和QUAKE4等专业游戏就知道了。
OpenGL官方网站(英文)下面我将对Windows下的OpenGL编程进行简单介绍。
学习OpenGL前的准备工作第一步,选择一个编译环境现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。
但这里我们选择Visual Studio 2005作为学习OpenGL的环境。
C语言编写的星星排列
C语言编写的星星排列
#include <stdio.h>
int main() {
int rows, i, j, k;
printf("请输入星星排列的行数:");
scanf("%d", &rows);
for (i = 1; i <= rows; i++) {
for (j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
在上述代码中,我们首先使用scanf函数从标准输入中读取用户输入的行数,并将其存储在变量rows中。
然后,我们使用两个嵌套的循环来打印星星排列。
外层循环控制行数,内层循环控制每行打印的星星数量。
在内层循环中,我们使用printf函数打印一个星号,并在每行结束时打印一个换行符。
这样就可以输出指定行数的星星排列了。
下面是一个示例输出,其中用户输入的行数为5:
请输入星星排列的行数:5
*****
****
***
**
*
在上述示例输出中,第一行有5个星号,第二行有4个星号,以此类推,最后一行有1个星号。
这些行共同组成了一个星星排列,其行数为5。
c语言旋转的五角星动画程序软件设计报告,c语言旋转的五角星动画程序软件设计报告.docx...
c语⾔旋转的五⾓星动画程序软件设计报告,c语⾔旋转的五⾓星动画程序软件设计报告.docx...c语⾔旋转的五⾓星动画程序软件设计报告C语⾔动画程序 #include #include #include #include #definepi doubleca3mm1(doublem1,doublem2); doubleca3fm1(doublecosine,doublesine); doubleca5fm2(doublea6m,doublea5m,doublea4m,doublea4f,intshang); doubleca6fm2(doublea4m,doublea4f,doublea5m,doublea5f); charinbox(intx,inty,intx1,inty1); charbuf(); main() { doublem=; doublexo=,yo=,a1=,t1=pi; doublexc=xo+m*a1,yc=yo; doublea2=,a3,a4=,a5=,a6=,a7=; doublet2,t3,t4,t5,t6,t7; doublexo1=xo+m*150,yo1=yo; doublexc1=xo1-m*a1,yc1=yo1; doublei,j,k; doublel1; doublen=,nt; initscreen(); setfillstyle(SOLID_FILL,DARKGRAY); bar(0,0,640,480); mybutton(10,10,"BEGIN",1,0); mybutton(500,10,"EXIT",1,0); line(0,69,640,69); mouseinit(); changemousecross(); setmousexy(320,20); mouseshow(); setmousearea(0,0,640,60); do{ if(inbox(10,10,70,26)&&button()==1) {mousehide();mybutton(10,10,"BEGIN",0,0);mouseshow();mousehold();mybutton(10,10,"BEGIN",1,7);mouseshow();break;}mousehide if(inbox(500,10,555,26)&&button()==1) {mousehide();mybutton(500,10,"EXIT",0,0);mouseshow();mousehold(); mybutton(500,10,"EXIT",1,7);mouseshow();exit(0);} if(buf()==56) for(i=0;i0&&cosine>0) temp=atan(sine/cosine)*180/pi; if(sine>0&&cosine0) temp=(atan(sine/cosine)+2*pi)*180/pi; return(temp); } doubleca5fm2(doublea6m,doublea5m,doublea4m,doublea4f,intshang){ doubletemp,sine1,cosine1; cosine1=(a6m*a6m-a4m*a4m-a5m*a5m)/(2*a4m*a5m);sine1=sqrt(1-cosine1*cosine1); if(shang==0) sine1=sine1*(-1); if(sine1>0&&cosine1>0) temp=a4f+(atan(sine1/cosine1)*180/pi); if(sine1>0&&cosine10) temp=a4f+((atan(sine1/cosine1)+2*pi)*180/pi); return(temp); } doubleca6fm2(doublea4m,doublea4f,doublea5m,doublea5f){ 实验报告 课程名称:平⾯动画制作 第1页共4页 第2页共4页 第3页共4页 第4页共4页 实验三C语⾔图形程序设计 ⼀、上机实验⽬的 1.学习C语⾔编程,掌握C语⾔图形编程基本常识; 2.根据要求进⾏图形程序设计和编程、调试、运⾏; 3.学习并掌握C语⾔图形显⽰程序的编制、调试及运⾏技巧和经验; ⼆、实验设备及软件 1.计算机系统1套; 2.C语⾔教程软件1套; 3.C语⾔编程软件1套; 4.课程多媒体软件1套; 三、上机实验内容 1.学习。
用C语言描述的五角星完整代码
用C语言描述的五角星完整代码第一篇:用C语言描述的五角星完整代码#include #include using namespace std;int main(){int i1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4;printf(“五角星: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 we?n(*^_^*)n”);return 0;}beautiful pentagon,haven't第二篇:C语言课程设计代码#include “stdio.h” #include #include #define LEN sizeof(struct course)struct course { int cID;char name[50];float credit;int semester;struct course *next;};void main(){ int n=0;struct course *head=NULL;void insert(struct course **head,struct course *cou);void Print(struct course **head,int *n);void Modify(struct course **head,int *n);void Require(struct course **head);void Creat(struct course **head,int *n);void Delete(struct course **head,int *n);void Fun(struct course **head,int *n);Fun(&head,&n);}void insert(struct course **head,struct course *cou){ struct course *p0,*p1,*p2;p2=p1=*head;p0=cou;if(*head){while((p0->semester>p1->semester)&&(p1->next)){p2=p1;p1=p1->next;}if(p0->semestersemester){if(*head==p1)*head=p0;else p2->next=p0;p0->next=p1;}else{if(p0->semester==p1->semester){ while((p0->cID>p1->cID )&&(p1->next)&&(p0->semester==p1->semester)){} if(p0->semester!=p1->semester){} else {if(p0->cID<=p1->cID){if(*head==p1)*head=p0;elsep2->next=p0;p2=p1;p1=p1->next;p2->next=p0;p0->next=p1;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}}else{p1->next=p0;p0->next=NULL;}} } else{*head=p0;p0->next=NULL;} }void Print(struct course **head,int *n){ struct course *p;p=*head;if(*head){if(*n==1)printf(“nThis %d record is:n”,*n);else printf(“nThese %d records are:n”,*n);printf(“semester cIDnamecreditn”);do{ printf(“%-10d%-10d%-18s%-12.1f n”,p->semester,p->cID,p->name,p->credit);p=p->next;}while(p!=NULL);} else printf(“nList null!n”);}void Modify(struct course **head,int *n){ struct course *p,*p2;int cID;if(*head){Print(head,n);while(1){ printf(“nPlease input the cID which you want to modify:”);scanf(“%d”,&cID);p2=p=*head;while(p->next&&(cID!=p->cID)){p2=p;p=p->next;} if(cID==p->cID){printf(“Please input the new cID(1~60):”);scanf(“%d”,&p->cID);while(p->cID<0||p->cID>60){printf(“nError!”);printf(“nPlease input the new cID(1~60):”);scanf(“%d”,&p->cID);}printf(“Please input the new semester(1~8):”);scanf(“%d”,&p->semester);while(p->semester<0||p->sem ester>8){printf(“nError!”);printf(“nPlease input the new semester(1~8):”);scanf(“%d”,&p->semester);}printf(“Please input the new credit:”);scanf(“%f”,&p->credit);printf(“Please input the new name:”);scanf(“%s”,p->name);if(p==*head)*head=p->next;else p2->next=p->next;insert(head,p);break;}else pri ntf(“%d not been found!n”,cID);} } else {printf(“nList null!n”);} }void Require(struct course **head){ struct course *p;float sum=0;int sem,i=0;printf(“nPlease input the semester which is required:”);scanf(“%d”,&sem);p=*head;while(p){if(sem==p->semester){i++;if(i==1)printf(“nsemester cIDnamecreditn”);printf(“%-10d%-10d%-18s%-12.1fn”,p->semester,p->cID,p->name,p->credit);sum=sum+p->credit;}p=p->next;} printf(“The sum of credit in this term is:%.1fn”,sum);}void Creat(struct course **head,int *n){ struct course *p1;while(1){p1=(struct course *)malloc(LEN);printf(“Please input the cID(1~60):”);scanf(“%d”,&p1->cID);while(p1->cID<0||p1->cID>60){printf(“nError!”);printf(“nPlease input the cID(1~60):”);scanf(“%d”,&p1->cID);}if(p1->cID==0)break;printf(“Please input the semester(1~8):”);scanf(“%d”,&p1->semester);while(p1->semester<0||p1->semester>8){printf(“nError!”);printf(“nPlease input the semester(1~8):”);scanf(“%d”,&p1->semester);}} } printf(“Please input the credi t:”);scanf(“%f”,&p1->credit);printf(“Please input the name:”);scanf(“%s”,p1->name);insert(head,p1);*n=*n+1;print f(“nYou can continue until the cID is ”0“!n”);Print(head,n);void Delete(struct course **head,int *n){struct course *p1,*p2;int cID;Print(head,n);if(*head){ printf(“Please input the cID of the course which you want to delete:”);scanf(“%d”,&cID);p1=*head;while(cID!=p1->cID&&p1->next!=NULL){p2=p1;p1=p1->next;}if(cID==p1->cID){if(p1==*head)*head=p1->next;else p2->next=p1->next;printf(“Have delete cID:%dn”,cID);*n=*n-1;}else printf(“%d not been found!n”,cID);} }void Fun(struct course **head,int *n){ char num;while(1){system(“cls”);puts(“**************** Main Menu ******************”); puts(“* 1.Add Records2.Print Records*”);puts(“* 3.Delete Records4.Modify Records *”);puts(“* 5.Require Records 6.Exit*”);printf(“Please input your choice: ”);scanf(“%d”,&num);switch(num){case 1:Creat(head,n);break;case 2:Print(head,n);break;case 3:Delete(head,n);break;case 4:Modify(head,n);break;case 5:Require(head);break;case 6:exit(0);break;default: break;}printf(“nPress ”Enter“ to continue!”);getchar();getchar();} }第三篇:c语言迷宫问题代码实现C语言迷宫问题代码如下:#include#include#define LEN sizeof(SEAT)#define MAXSIZE 100#define LENGTH 30typedef struct{int x;//横坐标int y;//纵坐标int di;//表示方向,0-3分别表示东南西北。
C#画五角星
angles[i] =angles[i-1] + GetAngleLength(pointed); } return angles; } /// <summary> /// 获得角度的增量 /// </summary> /// <param name="pointed"></param> /// <returns></returns> public double GetAngleLength(int pointed) {
Graphics g = e.Graphics;//建立一个画布 positingQuality = CompositingQuality.HighQuality;//设置图像呈现的质量 g.SmoothingMode = SmoothingMode.HighQuality;//对图片进行平滑处理 Pen p = new Pen(Color.Red);//画笔的颜色 double[] angles1 = GetAngles(-Math.PI / 2, pointed);//五角星外围的点角度的一个数组 double[] angles2 = GetAngles(-Math.PI / 2+Math.PI/pointed, pointed);//五角星内围的点角度的一个数组 PointF[] points1 = GetPoints(new PointF(300, 300), 100, angles1);//五角星外围的点的一个数组 PointF[] points2 = GetPoints(new PointF(300, 300), 50, angles2);//五角星内围的点的一个数组 PointF[] points = new PointF[points1.Length+points2.Length];//最终合成多边形所有点的数组 for (int i = 0,j=0; i < points.Length; i+=2,j++) {
用C++画五角星
HF_big=CreateFont(
nCharHeight,
0,
900-150*i,
0,
FW_HEAVY,
0,
0,
0,
GB2312_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
FF_SCRIPT,
"粗体字"
);
SelectObject(hDC,HF_big);
TextOut(hDC,X,Y,&lpsz_1[2*i],2);
}
EndPaint(hWnd,&PtStr);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
MoveToEx(hDC,402,235,NULL);
LineTo(hDC,474,290);
MoveToEx(hDC,498,235,NULL);
LineTo(hDC,402,235);
MoveToEx(hDC,498,235,NULL);
LineTo(hDC,421,290);
DeleteObject(hPen2);
DeleteObject(hPen1);
SetTextColor(hDC,RGB(0,0,0));
GetTextMetrics(hDC,&tm);
TextOut(hDC,412,320,lpsz_2,strlen(lpsz_2));
X=425+tm.tmAveCharWidth;
Y=330+tm.tmHeight+tm.tmExternalLeading;
c语言入门之绘制五角星
问题描述;输出五角星的即是输出满足特定条件的区域范围,再用if 函数进行选择性编辑。
而在输出五角星区域范围的时候,可将该范围进行分割描述,每一个部分都找出行列之间的关系,用这种关系可以特定描述某个范围。
设计思路:用*编出一个五角星,可以将其分解成三个部分,分别为:顶部三角形,中央梯形,底部两个对称的三角形。
在编辑图形的时候,可以考虑使用二维数组,经过测算,定义数组p[50][51],再定义整型变量i,j,以I 表示列。
J 表示行。
进行编辑。
将五角星顶点定在(25,0)处,用I ,j招出满足在三角形内部时满足的关系。
则用for 函数循环。
并用if 函数写出判断条件,当满足条件时,数组元素p[i][j]输出*,反之输出空格。
同理进行梯形和底部三角形的编辑。
直至输出完毕,进行换行。
源码及注释:#include<>void main(){char p[50][51]; /*定义字符型数组*/int i,j; /*定义整型变量*/char m,n;m=(“*”);n=(“ “);for(i=0;i<=6;i=i+2) /*从第一行开始循环*/{for(j=0;j<=51;j++){If(j<=25+i/2&&j>=25-i/2) /*满足顶部三角形I,j 条件*/printf(“%c”,m);elseprintf(“%c”,n);printf(“%c”,p[i][j]);/*输出顶部数组*/}printf(“\n”);/*换行*/}for(i=8;i<=14;i=i+2) /*从第8行开始循环*/{for(j=0;j<=51;j++){if(j>=12+i/2&&j<=38-i/2 /*满足中央梯形的条件*/printf(“%c”,m);elseprintf(“%c”,n);printf(“%c”,p[i][j]);/*输出中间数组*/}printf(“\n”);}for(i=16;i<=24:i=i+2) /*从地16行循环*/{for(j=0;j<=51;j++){if(j>=11+i&&j<=23+i/2) /*满足右下角三角形条件*/printf(“%c”,m);else if(j<=39-i&&j>=27-i/2) /*满足左下角三角形条件*/p rintf(“%c”,m);elseprintf(“%c”,n);printf(“%c”,p[i][j]); /*输出数组*/}printf(“\n”);}}流程图:同理构造另外两部分。
c语言星空代码
c语言星空代码C语言星空代码,是一段代码用来输出一颗星星,颇受程序员喜爱。
在程序执行过程中,输出的结果和一颗闪烁的星星很相似,因此也被称为星空代码。
下面将介绍一下C语言星空代码的实现逻辑和编写方法。
实现逻辑C语言星空代码的实现逻辑比较简单。
程序会输出一个很长的字符串,其中每个字符都代表星星的一颗点。
根据不同的字符,输出的效果也不同。
一般情况下,我们用空格来表示黑暗的夜空,用“*”来表示星星的一颗点。
如果打印垂直方向的星星,则需要在ASCII码中选择输出一个竖线“|”,表示星星正立。
而打印倾斜的星星,则需要输出ASCII码中“\”或“/”符号。
编写方法编写C语言星空代码,首先需要确定输出的字符串长度。
一般情况下,我们选用宽度为80个字符,高度为25行的终端屏幕作为输出界面。
因此,字符串长度应该是80*25=2000个字符。
这个字符串中,每个字符都代表星星的一颗点,可以用字符数组存储。
在程序中,我们可以用两层循环,根据不同的情况输出星星。
首先,我们需要定义一个字符数组并初始化。
可以使用下面的语句进行初始化:char star[2000] = " ";其中,双引号内的内容就是2000个空格,用来表示黑暗的夜空。
接下来,我们需要在数组上添加星星。
可以使用一些特殊的字符来表示不同的星星情况,例如空格,竖线,反斜杠和斜杠等。
然后,根据不同的字符,使用条件判断语句将不同的字符添加到数组中。
可以通过调整循环中计数器的值,来产生渐变的效果,让星星闪烁。
最后,我们需要在终端屏幕中输出这个字符数组。
可以使用for循环将数组中的字符逐一输出,或者使用printf语句输出整个字符串。
代码示例下面是一段C语言星空代码的示例,可以输出闪烁的星星:```#include <stdio.h>#include <unistd.h>int main(){int i, j;char star[2000] = " "; while (1) {for (i = 0; i < 80; i++) {for (j = 0; j < 25; j++) {int index = j * 80 + i;if ((i + j) % 2 == 0) {star[index] = '*';}}}system("clear");printf("%s", star);usleep(200000);for (i = 0; i < 80; i++) {for (j = 0; j < 25; j++) {int index = j * 80 + i;if ((i + j) % 2 == 0) {star[index] = ' ';}}}printf("%s", star);usleep(200000);}return 0;}```这段代码使用双循环,将所有奇数位置(i+j为奇数)的字符改为星星,偶数位置则为黑色背景。
C语言C编程学习程序员大神!绘制神奇代码之星空动态
C语⾔C编程学习程序员⼤神!绘制神奇代码之星空动态C语⾔是⾯向过程的,⽽C++是⾯向对象的C和C++的区别:C是⼀个结构化语⾔,它的重点在于算法和数据结构。
C程序的设计⾸要考虑的是如何通过⼀个过程,对输⼊(或环境条件)进⾏运算处理得到输出(或实现过程(事务)控制)。
C++,⾸要考虑的是如何构造⼀个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最⼤区别在于它们的⽤于解决问题的思想⽅法不⼀样。
之所以说C++⽐C更先进,是因为“ 设计这个概念已经被融⼊到C++之中 ”。
C与C++的最⼤区别:在于它们的⽤于解决问题的思想⽅法不⼀样。
之所以说C++⽐C更先进,是因为“ 设计这个概念已经被融⼊到C++之中 ”,⽽就语⾔本⾝⽽⾔,在C中更多的是算法的概念。
那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,⼀样不⾏。
⽽且,“C加上好的设计”也能写出⾮常好的东西。
今天分享⼀个好玩的:星空要⽤C/C++绘制是动态的哦。
在今天之前,你能想象⽤C/C++⼏⼗⾏代码就能做出上⾯这个轨范吗?代码实现在EasyX的⽂档中,就有这么⼀个Demo轨范。
我们先来分析⼀下这段代码。
看过之前C说话专题的同窗们必定可以独⽴看明⽩这段代码。
代码构造⼤要如下:1. 星星构造体经由过程构造体保留每克星星的位置信息、颜⾊信息和挪动信息。
位置信息EasyX坐标系中的点坐标位置。
颜⾊信息所有的星星都是⽩⾊,不合的是敞亮程度不合。
近处的星星⽃劲亮,远处的星星⽃劲暗。
挪动速度每⼀次轮回,所有的星星都市向右挪动,经由过程这个参数来记实每个星星每次向右挪动的间隔。
近处的星星挪动得快,远处的星星挪动得慢。
2. 星星初始化⽤⼀个数组来保留所有的星星。
每个星星都⽤InitStar()函数随机出⼀组特征值。
把持这些特征值将每颗星星画在画布上。
这⾥使⽤了EasyX的画点接⼝:void putpixel(int x, int y, COLORREF color);3. 星星挪动每20毫秒轮回⼀次,每⼀次轮回中,每颗星星都向右挪动。
C语言课设绘制动态五角星
目录一.设计题目 (2)二.题目内容的描述 (2)三.应用程序功能的详细说明 (2)四.输入数据类型格式和内容限制 (8)五.主要模块的算法描述 (9)六.结束语 (11)七.程序的源代码清单 (11)附录A . 程序运行截图 (14)沈阳理工大学材料科学与工程学院计算机程序训练任务书姓名:xxxxxx 班级:xxxxxxxx 学号:xxx一.设计题目:在屏幕上绘制一个动态五角星具体内容(一)设计要求在屏幕上绘制一个五角星,每按一次键盘转九十度。
用循环程序计算五角星的顶点,画直线完成。
五角星显示的位置、大小和转动的方向由键盘输入,并将输入的数据送文件保存。
按回车键程序结束。
(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制五角星)(二)技术要求1. 按照给定题目独立设计程序,上机调试通过。
2. 写出设计报告提交报告的内容如下:二.题目内容的描述在屏幕上绘制一个五角星,每按一次键盘转九十度。
用循环程序计算五角星的顶点,画直线完成。
五角星显示的位置、大小和转动的方向由键盘输入,并将输入的数据送文件保存。
按回车键程序结束。
(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制五角星)三.应用程序功能的详细说明void set_pentagon(int *xr,int *yr,int *r)/*insert pengaton*/{FILE *fp;char filename[20],ch;printf("Input the file's name:");gets(filename);if((fp=fopen(filename,"w+"))==NULL){printf("file open error.\n");exit(0);}printf("please input the characters to the file:\n");while((ch=getchar())!='\n'){ fputc(ch,fp);putchar(ch);}fclose(fp);printf("\nplease set the xr yr and r for the pentagon you have typed in:\n");scanf("%d",xr);scanf("%d",yr);scanf("%d",r);}这一段是文件的输入与输出。
用c语言画出一个五角星图案
用c语言画出一个五角星图案感觉上五角星和六角星的思路差不多,所以就不做重复劳动啦~嘿嘿O(∩_∩)O~以下公布一个非本人的代码,虽然感觉这个五角星画的不是很“正”,但总体感觉还可以,就是扁了点~呵呵~#include "stdio.h"void print(int(*p)[62]){int i,i2=0,j,j2=49;for(i=0;i<20;i++){printf(" ");for(j=0;j<62;j++){if(i==i2||i==i2+1)if(j>j2&&j<j2+13)continue;if(*(*(p+i)+j)==1||*(*(p+i)+j)==2) printf("*");else if(*(*(p+i)+j)==3||*(*(p+i)+j)==4) printf("*");elseprintf(" ");}printf(" \n");}}void star(int (*p)[62],int i,int j,int n) {int k,l,a,b;for(k=0;k<18;k++,i++,j++){*(*(p+i)+j)=n;if(k>7&&k<11)*(*(p+i)+j)=0;}i--,j--;for(k=0;k<11;k++,i--,j-=4){*(*(p+i)+j)=n;if(k>4&&k<7)*(*(p+i)+j)=0;}i++,j+=4;for(k=0;k<47;k++,j++){*(*(p+i)+j)=n;}j--;for(k=0;k<11;k++,i++,j-=4) {*(*(p+i)+j)=n;if(k>3&&k<6)*(*(p+i)+j)=0;}i--,j+=4;for(k=0;k<18;k++,i--,j++) {*(*(p+i)+j)=n;if(k>6&&k<10)*(*(p+i)+j)=0;}i++,j--;a=i,b=j;i++,j++;for(k=1;k<17;k++,i++,j++) for(l=j-1;*(*(p+i)+l)!=n;l--) *(*(p+i)+l)=n+1;i=a,j=b;i++,j--;for(k=1;k<17;k++,i++,j--) for(l=j+1;*(*(p+i)+l)!=n;l++) *(*(p+i)+l)=n+1;}int main(){int a[20][62]={0};star(a,2,25,3);print(a);return 0;}上图代码链接:/sunnyykn/blog/item/c98e4463c680d2d5e6113a6f.html上图为:用c语言打印一个会变色闪烁的爱心图并保存到txt文件上图代码链接:/sunnyykn/blog/item/d0*******f2019d49c8204e6.html(更多)上图类似代码见本博客其它博文.....(更多)有趣的调试截图见相册...。
C语言 显示星号图形
显示星号图形显示的是直角边靠右的直角三角形。
#include<stdio.h>int main(){ int m,n=10;for(m=0;m<n;m++){ printf("%*.*s\n",n,m,"***********************");/*每行显示m个,每行占n个位置,左留空格*/ }return 0;}显示的是直角边靠左的直角三角形。
#include<stdio.h>int main(){ int m,n=10;for(m=0;m<n;m++){ printf("%-*.*s\n",n,m,"***********************");/*每行显示m个,每行占n个位置,右留空格*/ }return 0;}显示的是上小下大的等腰三角形。
#include<stdio.h>int main(){ int m,n=10;for(m=0;m<n;m++){ printf("%.*s",n-m," ");/*每行显示n-m个空格*/ printf("%.*s\n",2*m+1,"*************************");/*每行接着显示2m+1个*号*/ }return 0;}显示的是上大下小的等腰三角形。
#include<stdio.h>int main(){ int m,n=10;for(m=n-1;m>=0;m--){ printf("%.*s",n-m," ");printf("%.*s\n",2*m+1,"************************");}return 0;}/*与上题相比,将m的循环倒过来!*/显示菱形#include<stdio.h>int main(){ int n,i,m,bn,sn;printf("n(<22) : "); /*1 提示并*/scanf("%d",&n); /* 读取菱形行数n */for(i=1;i<=n;i++) /*2 循环:统一处理上、下两部分*/{ m=i<n+1-i?i:n+1-i; /*3 m=行号和倒数行号中的较小者*/ bn=(n+1)/2-m; sn=2*m-1; /*4 计算第m行空格数bn和星号数sn*/ printf("%*.*s\n",bn+sn,sn, /*5 显示bn个空格,sn个星号和换行*/ "*****************************************");}return 0;}。
C语言课程设计 在屏幕上绘制一个动态五角星 完整版
目录一.设计题目 (2)二.题目内容的描述 (2)三.应用程序功能的详细说明 (2)四.输入数据类型格式和内容限制 (8)五.N-S流程图 (9)六.结束语 (11)七.程序的源代码清单 (11)沈阳理工大学计算机程序训练任务书姓名:班级:学号:一.设计题目:在屏幕上绘制一个动态五角星具体内容(一)设计要求在屏幕上绘制一个五角星,每按一次键盘转九十度。
用循环程序计算五角星的顶点,画直线完成。
五角星显示的位置、大小和转动的方向由键盘输入,并将输入的数据送文件保存。
按回车键程序结束。
(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制五角星)(二)技术要求1. 按照给定题目独立设计程序,上机调试通过。
2. 写出设计报告提交报告的内容如下:二.题目内容的描述在屏幕上绘制一个五角星,每按一次键盘转九十度。
用循环程序计算五角星的顶点,画直线完成。
五角星显示的位置、大小和转动的方向由键盘输入,并将输入的数据送文件保存。
按回车键程序结束。
(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制五角星)三.应用程序功能的详细说明void set_pentagon(int *xr,int *yr,int *r)/*insert pengaton*/{FILE *fp;char filename[20],ch;printf("Input the file's name:");gets(filename);if((fp=fopen(filename,"w+"))==NULL){printf("file open error.\n");exit(0);}printf("please input the characters to the file:\n");while((ch=getchar())!='\n'){ fputc(ch,fp);putchar(ch);}fclose(fp);printf("\nplease set the xr yr and r for the pentagon you have typed in:\n");scanf("%d",xr);scanf("%d",yr);scanf("%d",r);}这一段是文件的输入与输出。
用C++画五角星
用C++画五角星#include#include#include#include#include#define Pi 3.1415926int lCenterX=450,lCenterY=250,lRidous=135;long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam);BOOL InitWindowsClass(HINSTANCE hInstance);BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){MSG Message;if(!InitWindowsClass(hInstance))return FALSE;if(!InitWindows(hInstance,nCmdShow))return FALSE;while(GetMessage(&Message,0,0,0)){TranslateMessage(&Message);DispatchMessage(&Message);}return Message.wParam;}long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam){HDC hDC;HPEN hPen1,hPen2;HFONT HF_big,HF_small;PAINTSTRUCT PtStr;TEXTMETRIC tm;char lpsz_1[]="内蒙古大学电子信息工程学院";char lpsz_2[]="自动化系";char lpsz_3[]="10级";int nCharlen=strlen(lpsz_1)/2;int nCharHeight;int X=0,Y=0,i;SIZE size;switch(iMessage){case WM_PAINT:hDC=BeginPaint(hWnd,&PtStr);SetMapMode(hDC,MM_ANISOTROPIC);hPen1=(HPEN)GetStockObject(BLACK_PEN);SelectObject(hDC,hPen1);Ellipse(hDC,lCenterX-lRidous,lCenterY-lRidous,lCenterX+lRidous,lCenterY+lRidous);hPen2=CreatePen(PS_SOLID,1,RGB(255,0,0));SelectObject(hDC,hPen2);MoveToEx(hDC,450,200,NULL);LineT o(hDC,421,290);MoveToEx(hDC,474,290,NULL);LineT o(hDC,450,200);MoveToEx(hDC,402,235,NULL);LineT o(hDC,474,290);MoveToEx(hDC,498,235,NULL);LineT o(hDC,402,235);MoveToEx(hDC,498,235,NULL);LineT o(hDC,421,290);DeleteObject(hPen2);DeleteObject(hPen1);SetTextColor(hDC,RGB(0,0,0)); GetTextMetrics(hDC,&tm);TextOut(hDC,412,320,lpsz_2,strlen(lpsz_2)); X=425+tm.tmAveCharWidth;Y=330+tm.tmHeight+tm.tmExternalLeading; TextOut(hDC,X,Y,lpsz_3,strlen(lpsz_3));for(i=0;i<ncharlen;i++)< p="">{nCharHeight=25;X=(int)(450-125*cos(-Pi/(nCharlen)*i));Y=(int)(250+125*sin(-Pi/(nCharlen)*i)); SetTextColor(hDC,RGB(0,0,0));HF_big=CreateFont(nCharHeight,0,900-150*i,0,FW_HEA VY,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SCRIPT,"粗体字");SelectObject(hDC,HF_big);TextOut(hDC,X,Y,&lpsz_1[2*i],2);}EndPaint(hWnd,&PtStr);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;default:return (DefWindowProc(hWnd,iMessage,wParam,lParam)); }}BOOL InitWindows(HINSTANCE hInstance,int nCmdShow) {HWND hWnd;hWnd=CreateWindow("stamp","图章工具",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);if(!hWnd)return FALSE;ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);return TRUE;}BOOL InitWindowsClass(HINSTANCE hInstance){WNDCLASS WndClass;WndClass.cbClsExtra=0;WndClass.cbWndExtra=0;WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHIT E_BRUSH));WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);WndClass.hIcon=LoadIcon(NULL,"END");WndClass.hInstance=hInstance;WndClass.lpfnWndProc=WndProc;WndClass.lpszClassName="stamp";WndClass.lpszMenuName=NULL;WndClass.style=CS_HREDRAW|CS_VREDRAW;return RegisterClass(&WndClass);}</ncharlen;i++)<>。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用c语言画出一个五角星图案
感觉上五角星和六角星的思路差不多,所以就不做重复劳动啦~嘿嘿O(∩_∩)O~以下公布一个非本人的代码,虽然感觉这个五角星画的不是很“正”,但总体感觉还可以,就是扁了点~呵呵~
#include "stdio.h"
void print(int(*p)[62])
{
int i,i2=0,j,j2=49;
for(i=0;i<20;i++)
{
printf(" ");
for(j=0;j<62;j++)
{
if(i==i2||i==i2+1)
if(j>j2&&j<j2+13)
continue;
if(*(*(p+i)+j)==1||*(*(p+i)+j)==2) printf("*");
else if(*(*(p+i)+j)==3||*(*(p+i)+j)==4) printf("*");
else
printf(" ");
}
printf(" \n");
}
}
void star(int (*p)[62],int i,int j,int n) {
int k,l,a,b;
for(k=0;k<18;k++,i++,j++)
{
*(*(p+i)+j)=n;
if(k>7&&k<11)
*(*(p+i)+j)=0;
}
i--,j--;
for(k=0;k<11;k++,i--,j-=4)
{
*(*(p+i)+j)=n;
if(k>4&&k<7)
*(*(p+i)+j)=0;
}
i++,j+=4;
for(k=0;k<47;k++,j++)
{
*(*(p+i)+j)=n;
}
j--;
for(k=0;k<11;k++,i++,j-=4) {
*(*(p+i)+j)=n;
if(k>3&&k<6)
*(*(p+i)+j)=0;
}
i--,j+=4;
for(k=0;k<18;k++,i--,j++) {
*(*(p+i)+j)=n;
if(k>6&&k<10)
*(*(p+i)+j)=0;
}
i++,j--;
a=i,b=j;
i++,j++;
for(k=1;k<17;k++,i++,j++) for(l=j-1;*(*(p+i)+l)!=n;l--) *(*(p+i)+l)=n+1;
i=a,j=b;
i++,j--;
for(k=1;k<17;k++,i++,j--) for(l=j+1;*(*(p+i)+l)!=n;l++) *(*(p+i)+l)=n+1;
}
int main()
{
int a[20][62]={0};
star(a,2,25,3);
print(a);
return 0;
}
上图代码链接:/sunnyykn/blog/item/c98e4463c680d2d5e6113a6f.html
上图为:用c语言打印一个会变色闪烁的爱心图并保存到txt文件
上图代码链接:/sunnyykn/blog/item/d0*******f2019d49c8204e6.html
(更多)上图类似代码见本博客其它博文.....
(更多)有趣的调试截图见相册...。