c语言打印符号三角形

c语言打印符号三角形题目要求:规定这样一种形状的三角形,如图7-36所示为一个符号三角形:#include "stdio.

欢迎大家来到IT世界,在知识的湖畔探索吧!

题目要求:

规定这样一种形状的三角形,如图7-36所示为一个符号三角形:

c语言打印符号三角形

#include "stdio.h"typedef struct QNode{    	/*定义队列结点类*/    char data;    struct QNode *next;} QNode , *QueuePtr;typedef struct{        		/*定义一个链队列*/    QueuePtr front;         	/*队头指针*/    QueuePtr rear;           	/*队尾指针*/}LinkQueue;initQueue(LinkQueue *q){    /*初始化一个空队列*/    q->front = q->rear = (QueuePtr)malloc(sizeof(QNode)); 									/*创建一个头结点,队头队尾指针指向该结点*/    if( !q->front) exit(0);			/*创建头结点失败*/    q->front->next = NULL;			/*头结点指针域置NULL*/}EnQueue(LinkQueue *q, char e){				/*入队列操作*/    QueuePtr p;    p = (QueuePtr)malloc(sizeof(QNode));	/*创建一个队列元素结点*/    if( !q->front) exit(0);					/*创建头结点失败*/    p->data = e;								/*将元素e入队列*/    p->next = NULL;                   			/*修改队尾指针*/    q->rear ->next = p;    q->rear = p;}DeQueue(LinkQueue *q, char *e){    /*如果队列q不为空,删除q的队头元素,用e返回其值*/    QueuePtr p;    if(q->front == q->rear) return;  		/*队列为空,返回*/    p = q->front->next;    *e = p->data;    q->front->next = p->next;    if(q->rear == p) q->rear = q->front;/*如果队头就是队尾,则修改队尾指针*/    free(p);}printTriangle(int n){    LinkQueue q;    char e,a,b ;    int i,j;initQueue(&q);						/*初始化队列*/printf("Input the the charecter(+/-) of the row.1\n");    for(i=0;i<n;i++){				/*输入第一行的符号,并入队列*/       scanf("%c",&e);       EnQueue(&q,e);        }printf("The charecter triangle is like\n");      for(i=0;i<n;i++){				/*控制符号三角形的行数*/        for(j=0;j<i;j++)            printf(" ");				/*控制输出格式,打印成倒三角形状*/        DeQueue(&q,&a);				/*出队列,打印每行的第一个符号*/        printf("%c ",a);        for(j=0;j<n-i-1;j++)			/*控制输出每一行,第i行输出n-i个符号*/        {           DeQueue(&q,&b);			/*出队列*/           printf("%c ",b);           if(a == b)  EnQueue(&q,'+'); 	/*向队尾插入新元素*/           else EnQueue(&q,'-');           a = b;        }        printf("\n");					/*控制输出格式,打印成倒三角形状*/    }}main(){    int n;    printf("Please input the number of '+' or '-' of the row.1 \n");    scanf("%d",&n);						/*输入符号三角形中第一行的元素个数*/    getchar();    printTriangle(n);					/*打印符号三角形*/    getche();}

欢迎大家来到IT世界,在知识的湖畔探索吧!

运行结果:

c语言打印符号三角形

运行结果

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/49245.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信