C队列 输出杨辉三角

也是中软笔试的算法题,当时并不知道叫杨辉三角,唉。N年不用了,还得再拾起,为了那个梦。

#include <stdio.h>
void main()
{
    int a[50][50];
    int i,j,n;
    printf("Please input Number:");
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        for (j=0;j<=i;j++)
        {
            if (j==0 ||j==i)
                a[i][j]=1;
            else
                a[i][j]=a[i-1][j-1]+a[i-1][j];
            printf("%5d",a[i][j]);
        }
        printf("/n");
    }
    getch();
}

/*TC 2.0测试*/
#define size 100
#define true 1
   #define false 0
    typedef int elemtype;
    typedef struct queue
     {
       elemtype element[size];
      int front;
       int rear;}queue;/*jie gou ti*/

    void initqueue(queue*q)
    {
       q->front=q->rear=0;}/*chu shi hua*/

    int enqueue(queue*q,int x)
    {
       if((q->rear+1)%size==q->front)
        return(false);
         q->element[q->rear]=x;
          q->rear=(q->rear+1)%size;
          return(true);    } /*chong xin she zhi wei zhi zhen*/

          int dequeue(queue*q,int*x)
          {
          if(q->front==q->rear)
          return(false);
          *x=q->element[q->front];
          q->front=(q->front+1)%size;
          return(true);}

          int queueempty(queue*q)
          {
          if(q->front==q->rear)
           return(false); }

        int getqueue(queue*q,int *e)
          {
          if(q->front==q->rear)
          return(false);
          else{*e=q->element[q->front];}
          }

    void main()
    {int n,i,k,e;
    int s;
    queue q;
    printf("please input N");
    scanf("%d",&n);
    for(i=1;i<=n;i++)

    printf(" ");printf("1");

    printf("/n");
    initqueue(&q);
    enqueue(&q,0);
    enqueue(&q,1);
    enqueue(&q,1);
    k=1;
    while(k<n)
    {
    for(i=1;i<=n-k;i++)
    printf(" ");
    enqueue(&q,0);
    do{
    dequeue(&q,&s);
    getqueue(&q,&e);
    if(e!=0)printf("%d ",e);
    else printf("/n");
    enqueue(&q,s+e);}
    while(e!=0);
    k++;}
    dequeue(&q,&e);
    while(!queueempty(&q))
    {dequeue(&q,&e);
    printf("%d ",e);
    clrscr();
    }
}

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值