| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 677 人关注过本帖
标题:简单的动态链表建立与输出问题,结果不对。
只看楼主 加入收藏
tianxiao110
Rank: 1
等 级:新手上路
帖 子:63
专家分:1
注 册:2010-7-23
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:8 
简单的动态链表建立与输出问题,结果不对。
#include<stdio.h>
#include<malloc.h>
#define NULL 0
#define KP   (struct student*)malloc(sizeof(struct student))
#define SR   scanf("%d%f",&p1->num,&p1->score)
#define SC   printf("%d%f",p->num,p->score)
struct student
{
    int num;
    float score;
    struct student *next;
};
struct student *creat()
{
    struct student *head,*p1,*p2;
    p2=p1=KP;
    head=p1;
    while((p1->num)!=0)
    {
        p1=KP;
        SR;
        p2->next=p1;
        p2=p1;
        
    }
    p2->next=NULL;
    return(head);
}
void print(struct student *head)
{
    struct student *p;
    p=head;
    while(p->next!=NULL)
    {
        SC;
        p=p->next;
    }
}
int main()
{
    //建立动态列表
    struct student *head;
    head=creat();
    print(head);
    return(0);
}
   
搜索更多相关主题的帖子: 链表 动态 结果 输出 
2010-09-12 16:55
S_12s
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:110
专家分:670
注 册:2010-7-21
收藏
得分:10 
最好把  #define NULL 0去掉……
在creat()中,在  head=p1  后加一句: "SR;" 试一下;
2010-09-12 17:13
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<malloc.h>
#define NULL 0
#define KP   (struct student*)malloc(sizeof(struct student))
#define SR   scanf("%d%f",&p1->num,&p1->score)
#define SC   printf("%4d  %4f",p->num,p->score)
struct student
{
    int num;
    float score;
    struct student *next;
};
struct student *creat()
{
    struct student *head,*p1,*p2;
    p2=p1=KP;
    head=p1;
    SR;
    while(1)
    {
        p1=KP;
        SR;
        if(p1->num==0)
            break;
        p2->next=p1;
        p2=p1;
       
    }
    p2->next=NULL;
    return(head);
}
void print(struct student *head)
{
    struct student *p;
    p=head;
    while(p!=NULL)
    {
        SC;
        p=p->next;
    }
}
int main()
{
    //建立动态列表
    struct student *head;
    head=creat();
    print(head);
    return(0);
}
改好了!不过在输入0时一定要输入两个!才能完成输入操作!以后多交流哦!我也在自学数据结构
2010-09-12 17:19
tianxiao110
Rank: 1
等 级:新手上路
帖 子:63
专家分:1
注 册:2010-7-23
收藏
得分:0 
呵呵,问题 基本解决了,可是数字之间的0000是怎么回事呢?    看看这个截图。
2010-09-12 17:20
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
那是你格式输出时空格没把握好!我已经给你改好了啊
2010-09-12 17:22
tianxiao110
Rank: 1
等 级:新手上路
帖 子:63
专家分:1
注 册:2010-7-23
收藏
得分:0 
谢谢  楼上的俩位,问题解决了  呵呵
2010-09-12 17:23
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
不用!我今天也才看到数据结构的链表!呵呵!现在才到做题巩固阶段
2010-09-12 17:25
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
这结贴速度太快了,我还没看就结贴了......

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-09-12 17:25
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
g哈哈!分我拿到了
2010-09-12 17:26
快速回复:简单的动态链表建立与输出问题,结果不对。
数据加载中...
 
   



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

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