打印杨辉三角形C语言.doc_第1页
打印杨辉三角形C语言.doc_第2页
打印杨辉三角形C语言.doc_第3页
打印杨辉三角形C语言.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用队列打印杨辉三角形1.主要功能描述:使用队列的入队,出队,获得头结点和判断是否为空等等,来实现对杨辉三角形的打印,第i行上的元素要由第i-1行中的元素来生成。2. 设计分析:由杨辉三角形的特点,即每一行的第一个元素和最后一个元素均为1,其他位置上的数字是其上一行中与之相邻的两个整数之和。所以第i行上的元素要由第i-1行中的元素来生成。3. 运行效果图4.5.重要变量用途说明 算法描述#include#define MAXSIZE 50 #define QueueElementtype int typedef struct/定义循环队列QueueElementtype elementMAXSIZE; /队列元素空间int front;/头指针指示器int rear;/尾指针指示器SeqQueue;void InitQueue(SeqQueue *Q)/初始化为循环空队列Q-front=Q-rear=0;int EnterQueue(SeqQueue *Q,QueueElementtype x) /入队操作if(Q-rear+1)%MAXSIZE=Q-front) /尾指针加1追上头指针,标志队列已经满了return (false);Q-elementQ-rear=x;Q-rear=(Q-rear+1)%MAXSIZE;/重新设置尾指针return (true); int DeleteQueue(SeqQueue *Q,QueueElementtype *x) /出队操作if(Q-front=Q-rear)/队列为空,不能操作return (false);*x=Q-elementQ-front;Q-front=(Q-front+1)%MAXSIZE;/重新设置头指针return (true);int IsEmpty(SeqQueue *Q)/判断队列是否为空if(Q-front=Q-rear)return true;else return false;int GetHead(SeqQueue *Q,QueueElementtype *x)if(!IsEmpty(Q)*x=Q-elementQ-front;return true;elsereturn false;void YangHuiSanJiaoXing() /定义函数SeqQueue Q;int n,N,m,j;int x,i,temp; /*定义要使用的变量*/InitQueue(&Q);printf(请输入要打印的行数:); /输入要打印的行数scanf(%d,&N);m=N;EnterQueue(&Q,1);for(n=2;n=1;j-)/使用变量m来实现输出空格数printf( );m-;EnterQueue(&Q,1);for(i=1;i=n-2;i+)DeleteQueue(&Q,&temp); printf(%-3d,temp);printf( );/调整数字间距GetHead(&Q,&x);temp=temp+x;EnterQueue(&Q,temp);DeleteQueue(&Q,&x);printf(%-3d,x);EnterQueue(&Q,1);printf(n);while(!IsEmpty(&Q)DeleteQueue(&Q,&x);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论