标题:用队来计算杨辉三角
取消只看楼主
axxhn
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-6-4
结帖率:33.33%
已结贴  问题点数:20 回复次数:2 
用队来计算杨辉三角
程序代码:
//输出时只有第一行的1输出了,后面输出的是一大堆奇怪的数字,求指教
#include<stdio.h>
#define maxsize 100
typedef struct{int data[maxsize];
               int rear;
               int length; 
              }Queue,*QQueue;
void init(QQueue Q)
{
    Q->rear=0;
    Q->length=0;
    return;
}
void Enter(QQueue Q,int x)
{
    if(Q->length==maxsize);
    return;
    Q->data[Q->rear]=x;
    Q->rear=(Q->rear+1)%maxsize;
    return;
} 
int Delete(QQueue Q,int *x)
{
    if(Q->length==0);
    return 0;
    *x=Q->data[(Q->rear-Q->length+maxsize)%maxsize];
    Q->length--;
    return *x; 
}
void Get(QQueue Q,int *x)
{
    if(Q->length==0)
    return;
    *x=Q->data[(Q->rear-Q->length+maxsize)%maxsize]; 
}
void YHTriangle()
{
    Queue Q;
    int n=7;
    int a1,a2;
    int i,k;
    init(&Q);
    printf("%-3d\n",1);
    Enter(&Q,1);
    Enter(&Q,1);
    for(i=2;i<=n;i++)
    {
        Enter(&Q,1);
        for(k=0;k<=i-2;k++)
        {
            Delete(&Q,&a1);
            Get(&Q,&a2);
            printf("%-3d",a1);
            Enter(&Q,a1+a2);
        }
        Delete(&Q,&a2);
        printf("%-3d\n",a2);
        Enter(&Q,1); 
    }
}
main()
{
    Queue Q;
    YHTriangle();
}



搜索更多相关主题的帖子: int length void return Enter 
2017-10-26 20:27
axxhn
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-6-4
得分:0 
没有人能回答吗
2017-10-27 20:12
axxhn
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-6-4
得分:0 
求大神解答啊
2017-10-29 20:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481805-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056500 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved