| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1165 人关注过本帖
标题:用队来计算杨辉三角
只看楼主 加入收藏
axxhn
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-6-4
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:3 
用队来计算杨辉三角
程序代码:
//输出时只有第一行的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
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:20 
代码没有咋看细节~
可以了~自己对比一下看看~

程序代码:
//输出时只有第一行的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;
    ++Q->length;
    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); 
    }
}
int main()
{
    Queue Q;
    YHTriangle();
    
    return 0;
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-29 23:00
快速回复:用队来计算杨辉三角
数据加载中...
 
   



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

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