| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 688 人关注过本帖
标题:杨辉三角形,错在哪,谢谢!
只看楼主 加入收藏
wjx294801971
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-11-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
杨辉三角形,错在哪,谢谢!
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct QNode{
    int data;
    struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
    QueuePtr rear;
    QueuePtr front;
}LinkQueue;
void InitQueue(LinkQueue &Q){
    Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
    Q.front=NULL;
}
void EnQueue(LinkQueue &Q,int e){
    QNode *p;
    p=(QueuePtr)malloc(sizeof(QNode));
    p->data=e;
    p->next=NULL;
    Q.rear->next=p;
    Q.rear=p;
}
void DEQueue(LinkQueue &Q,int &e){
    QNode *p;
    p=Q.front->next;
    e=p->data;
    Q.front->next=p->next;
    free(p);
}
int GetFront(LinkQueue &Q){
    return Q.front->next->data;
}
main(){
    int w,p,sum;
    LinkQueue Q;
    InitQueue(Q);
    EnQueue(Q,1);
    EnQueue(Q,1);
    for(int i=2;i<=5;i++){
        EnQueue(Q,1);
        for(int j=0;j<=i-2;j++){
                DEQueue(Q,p);
                printf("%d",p);
                w=GetFront(Q);
                sum=p+w;
                EnQueue(Q,sum);
        }
        EnQueue(Q,1);
        printf("\n");
    }
}
搜索更多相关主题的帖子: include 三角形 
2011-11-19 18:59
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:20 
这是我的代码,当然也是高手指教的,嘿嘿

#include<stdio.h>
#include<stdlib.h>
#define Maxsize 1000

typedef struct
{
    int element[Maxsize];
    int front;
    int rear;
}Queue;

void InitQueue(Queue *Q)
{
    Q->front=Q->rear=0;
}

int EnterQueue(Queue *Q,int x)
{
    if((Q->rear+1)%Maxsize==Q->front)
        return 0;
    Q->element[Q->rear]=x;
    Q->rear=(Q->rear+1)%Maxsize;
    return 1;
}

int DeQueue(Queue *Q,int *x)
{
    if(Q->front==Q->rear)
        return 0;
    *x=Q->element[Q->front];
    Q->front=(Q->front+1)%Maxsize;
    return 1;
}

int GetHead(Queue Q,int *x)
{
    if(Q.front==Q.rear)
        return 0;
    *x=Q.element[Q.front];
    return 1;
}

int main()//yanghuisanjiao
{
    int i,j,n,temp,e;
    int k,h;//表示有k个测试用例
    scanf("%d",&k);
    for(h=0;h<k;h++)
    {
        Queue Q;
        InitQueue(&Q);
        scanf("%d",&n);
        printf("1\n");
        EnterQueue( &Q, 1 );
        EnterQueue( &Q, 1 );
        for(i=2;i<n+1;i++)
        {
            EnterQueue(&Q,1);//第n行的第一个元素入队
            for(j=1;j<=i-1;j++)
            {
                DeQueue(&Q,&temp);
                printf("%d ",temp);
                GetHead(Q,&e);
                temp=temp+e;//利用第n-1行的元素产生第n行的元素
                EnterQueue(&Q,temp);
            }
            DeQueue(&Q,&e);
            printf("%d ",e);//打印第n-1行的最后一个元素
            EnterQueue(&Q,1);//最后一个元素入队
            printf("\n");
        }
    }
    return 0;
}
2011-11-19 19:47
小灰i小白
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2011-11-12
收藏
得分:0 
回复 2楼 jj369258
怎么我运行你代码的时候结果怎么那样啊
2011-11-22 20:28
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
收藏
得分:0 
有这么复杂吗
2011-11-23 22:04
快速回复:杨辉三角形,错在哪,谢谢!
数据加载中...
 
   



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

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