打印杨辉三角形C语言.doc

打印杨辉三角形C语言.doc

ID:52698472

大小:35.50 KB

页数:4页

时间:2020-03-29

打印杨辉三角形C语言.doc_第1页
打印杨辉三角形C语言.doc_第2页
打印杨辉三角形C语言.doc_第3页
打印杨辉三角形C语言.doc_第4页
资源描述:

《打印杨辉三角形C语言.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、使用队列打印杨辉三角形1.主要功能描述:使用队列的入队,出队,获得头结点和判断是否为空等等,来实现对杨辉三角形的打印,第i行上的元素要由第i-1行中的元素来生成。2.设计分析:由杨辉三角形的特点,即每一行的第一个元素和最后一个元素均为1,其他位置上的数字是其上一行中与之相邻的两个整数之和。所以第i行上的元素要由第i-1行中的元素来生成。3.运行效果图4.5.①重要变量用途说明②算法描述#include#defineMAXSIZE50#defineQueueElementtypeinttypedefst

2、ruct//定义循环队列{QueueElementtypeelement[MAXSIZE];//队列元素空间intfront;//头指针指示器intrear;//尾指针指示器}SeqQueue;voidInitQueue(SeqQueue*Q)//初始化为循环空队列{Q->front=Q->rear=0;}intEnterQueue(SeqQueue*Q,QueueElementtypex)//入队操作{if((Q->rear+1)%MAXSIZE==Q->front)//尾指针加1追上头指针,标志队列已经满了retu

3、rn(false);Q->element[Q->rear]=x;Q->rear=(Q->rear+1)%MAXSIZE;//重新设置尾指针return(true);}intDeleteQueue(SeqQueue*Q,QueueElementtype*x)//出队操作{if(Q->front==Q->rear)//队列为空,不能操作return(false);*x=Q->element[Q->front];Q->front=(Q->front+1)%MAXSIZE;//重新设置头指针return(true);}intI

4、sEmpty(SeqQueue*Q)//判断队列是否为空{if(Q->front==Q->rear)returntrue;elsereturnfalse;}intGetHead(SeqQueue*Q,QueueElementtype*x){if(!IsEmpty(Q)){*x=Q->element[Q->front];returntrue;}elsereturnfalse;}voidYangHuiSanJiaoXing()//定义函数{SeqQueueQ;intn,N,m,j;intx,i,temp;/*定义要使用的变

5、量*/InitQueue(&Q);printf("请输入要打印的行数:");//输入要打印的行数scanf("%d",&N);m=N;EnterQueue(&Q,1);for(n=2;n<=N;n++)/*输出空格数实现输出三角形的效果*/{for(j=m;j>=1;j--)//使用变量m来实现输出空格数{printf("");}m--;EnterQueue(&Q,1);for(i=1;i<=n-2;i++){DeleteQueue(&Q,&temp);printf("%-3d",temp);printf("");//

6、调整数字间距GetHead(&Q,&x);temp=temp+x;EnterQueue(&Q,temp);}DeleteQueue(&Q,&x);printf("%-3d",x);EnterQueue(&Q,1);printf("");}while(!IsEmpty(&Q)){DeleteQueue(&Q,&x);printf("%3d",x);printf("");}printf("");}voidmain()//调用函数{YangHuiSanJiaoXing();}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。