标题:高手们进来看看啊
只看楼主
a13677972680
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-10-8
结帖率:0
已结贴  问题点数:20 回复次数:2 
高手们进来看看啊
以下程序是我花了很长时间编的, 请大虾们帮我看看哪里错了  实现的主要是输入一组整数然后输出。
#include<stdio.h>
#include <malloc.h>
#define null 0
typedef struct node //定义链队列
{ int data;
 struct node *next;
}link;
typedef struct
{link *front;
link *rear;
}linknode;
linknode *cas() //链队列入队
{linknode *s;
link *p;
int x,tag;
p=(link*)malloc(sizeof(link));
printf("请输入结束符");
scanf("%d",&tag);
while(x!=tag)
{scanf("%d",&x);
 p->data=x;
 p->next=null;
 s->rear->next=p;
 s->rear=p;
}
return s;
}
void de(linknode *s,int *c)  //链队列出队
{link *p;
 while(s->front!=s->rear)
 { p=s->front->next;
 s->front->next=p->next;
 *c=p->data;
 c++;}
 printf("%d",c);
 free(p);
 }
void main()        
{int *c;
 linknode *s;
 s=cas();
 de(s,c);
}
 高手们帮我看看 这个那里错了
搜索更多相关主题的帖子: next null include 
2010-10-08 23:06
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:10 
#include <stdio.h>
#include <malloc.h>

#define null 0

typedef struct node //定义链队列
{
    int data;
    struct node *next;
}link;

typedef struct
{
    link *front;
    link *rear;
}linknode;

linknode *cas() //链队列入队
{
    linknode *s = (linknode*)malloc(sizeof(linknode));
    s->front = s->rear = null;
    link *p;
    int x,tag;
    int flag = 0;

    printf("请输入结束符");
    scanf("%d",&tag);
    printf("请输入数据:");
    scanf("%d",&x);
    while(x != tag)
    {
        p=(link*)malloc(sizeof(link));
        p->data = x;
        p->next = null;
        if(flag == 0)
        {
            s->rear = s->front = p;
            flag = 1;
        }
        else
        {
            s->rear = s->rear->next = p;

        }
        printf("请输入数据:");
        scanf("%d",&x);
    }
    return s;
}

void de(linknode *s,int *c)  //链队列出队
{
    link *p;
    c = (int *)malloc(sizeof(int));
    *c = 0;
    int i=1;

    while(s->front!=0)
    {
        p=s->front;
        s->front=p->next;
        c = (int *)realloc(c, (i+1)*sizeof(int));
        *(c+i-1) = p->data;
        *(c+i) = 0;
        ++i;
        free(p);
    }
    for(i=0; *(c+i) != 0; ++i)
        printf("%d ",*(c+i));
    printf("\n");   
}

void main()        
{
    int *c;
    linknode *s;
    s=cas();
    de(s,c);
}
2010-10-11 17:17



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




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

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