| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1118 人关注过本帖
标题:建立单链表
只看楼主 加入收藏
wmm0717010118
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-11-3
收藏
 问题点数:0 回复次数:9 
建立单链表
建立储存20个学生信息的单链表,我的程序如下:

/* Note:Your choice is C IDE */
#include "stdio.h"
#include <malloc.h>

struct  person{
     long  num;
    char name[20];
     char sex;
     int age;
     long tel;
}student;

typedef struct stu{
    struct person  student;
    struct stu  *next;
}linklist;

linklist  *creatlist()
{
    int i;
    struct person x;
    linklist  *head,*p,*r;
    p=(linklist*)malloc(sizeof(linklist));
    head=p;
    p->next=NULL;
    r=p;
    for(i=0;i<=20;i++)
    {
        scanf("%ld%c%c%d%ld",&x.num,&x.name[i],&x.sex,&x.age,&x.tel);
        p=(linklist*)malloc(sizeof(linklist));
        p->student.num=x.num;
        p->student.name[i]=x.name[i];
        p->student.sex=x.sex;
        p->student.age=x.age;
        p->student.tel=x.tel;
        p->next=NULL;
        r->next=p;
        r=r->next;
    }
    return(head);
    }
void main()
{
    int i;
     linklist *stdhead;
     for(i=0;i<=20;i++)
    {stdhead=creatlist();
    
    printf("%ld,%c,%c,%d,%ld\n",stdhead->num,stdhead->name[i],stdhead->sex,stdhead->age,stdhead->tel);
    }
}
请高手指正其中的错误,多谢多谢!
搜索更多相关主题的帖子: 单链 
2008-11-04 18:27
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
void main()
{
    int i;
     linklist *stdhead;
     for(i=0;i<=20;i++)
    {
         stdhead=creatlist();
   
    printf("%ld,%c,%c,%d,%ld\n",stdhead->student.num,stdhead->student.name[i],\
        stdhead->student.sex,stdhead->student.age,stdhead->student.tel);
    }
}

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008-11-05 02:56
wmm0717010118
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-11-3
收藏
得分:0 
vfdff你还没给我改完啊,这样依旧运行不成功啊,你再给看看吧,拜托啦……
2008-11-05 18:40
wmm0717010118
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-11-3
收藏
得分:0 
/* Note:Your choice is C IDE */
#include "stdio.h"
#include <malloc.h>
typedef struct  {
     long  num;
    char name[20];
     }student;

typedef student elemtype;
typedef struct  node {
     elemtype  student;
     struct node  *next;
}linklist;

linklist  *creatlist()
{
    int i;
    linklist  *head,*p,*r;
    p=(linklist*)malloc(sizeof(linklist));
    head=p;
    p->next=NULL;
    r=p;
    for(i=0;i<=2;i++)
    {
        p=(linklist*)malloc(sizeof(linklist));
        printf("please enter the num");
        scanf("%ld",&p->student.num);
        printf("please enter the name");
        gets(p->student.name);
        
        p->next=NULL;
        r->next=p;
        r=r->next;
    }
    return(head);
    }
void main()
{
    int i;
     linklist *stdhead;
     for(i=0;i<=2;i++)
    {
         stdhead=creatlist();
    printf("%ld,%c\n",stdhead->student.num,stdhead->student.name[20] );
    }
}
2008-11-05 23:06
wmm0717010118
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-11-3
收藏
得分:0 
请各路高手帮忙改一下,问题不是很大了,可就是不知道出在哪儿!!!帮帮忙吧,各路高手……
多谢,多谢……
2008-11-05 23:11
wmm0717010118
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-11-3
收藏
得分:0 
/* Note:Your choice is C IDE */
#include "stdio.h"
#include <malloc.h>
typedef struct  {
     long  num;
    char name[20];
     }student;

typedef student elemtype;
typedef struct  node {
     elemtype  date;
     struct node  *next;
}linklist;

linklist  *creatlist()
{
    int i;
    linklist  *head,*p,*r;
    p=(linklist*)malloc(sizeof(linklist));
    head=p;
    p->next=NULL;
    r=p;
    printf("num","name");
    for(i=0;i<=2;i++)
    
    {p=(linklist*)malloc(sizeof(linklist));
        scanf("%ld",&p->date.num);
        gets(p->date.name);
        p->next=NULL;
        r->next=p;
        r=r->next;
    }
    return(head);
    }
void main()
{
    int i;
     linklist *stdhead;
     stdhead=creatlist();
    for(i=0;i<2;i++);
   { printf("%ld,%s\n",stdhead->date.num,stdhead->date.name[20]);
  }
}
2008-11-06 13:15
wmm0717010118
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-11-3
收藏
得分:0 
/* Note:Your choice is C IDE */
#include "stdio.h"
#include <malloc.h>
typedef struct  {
     long  num;
    char name[20];
     }student;

typedef student elemtype;
typedef struct  node {
     elemtype  date;
     struct node  *next;
}linklist;

linklist  *creatlist()
{
    int i;
    linklist  *head,*p,*r;
    p=(linklist*)malloc(sizeof(linklist));
    head=p;
    p->next=NULL;
    r=p;
    printf("please enter the num and name\n");
    for(i=0;i<=2;i++)
    
    {p=(linklist*)malloc(sizeof(linklist));
        scanf("%ld,%s",&p->date.num,p->date.name);
        p->next=NULL;
        r->next=p;
        r=r->next;
    }
    return(head);
    }
void main()
{
    int i;
     linklist *stdhead;
     stdhead=creatlist();
     printf("putout the right fruit");
    for(i=0;i<=2;i++);
   { printf("%ld,%s\n",stdhead->date.num,stdhead->date.name[20]);
       }
   }
2008-11-06 19:00
jdshaoheyi
Rank: 1
等 级:新手上路
帖 子:133
专家分:5
注 册:2008-11-6
收藏
得分:0 
这是我的最大努力了
#include "stdio.h"
#include <malloc.h>

//创建链表,链表元素代表学生,学生的数据包括姓名及学号

typedef struct  
{
     long  num;
     char name[20];
}student;



typedef student elemtype;


typedef struct  LNode
{
     elemtype  student;
     struct LNode  *next;
}LNode,*Linklist;



LNode  *creatlist()   //创建新的节点函数
{
    int i;
    LNode  *head,*p;  //定义节点
   
    head=(Linklist)malloc( sizeof(LNode) ); //先分配空间
    
    head->next=NULL;     //头结点
   
    for(i=1;i<=3;i++)       //循环输入数据
    {
        p=(Linklist)malloc(sizeof(LNode));
        
        printf("请输入不超过32767的任意学号:\n");
        scanf("%d",&p->student.num);                 //提示输入数据
        
        printf("请输入学生的 英文 名字:\n");
        //gets(p->student.name);                       //提示输入数据
        
        scanf("%s",&p->student.name);
        p->next=head->next;
                                                 //这两句是核心部分
        head->next=p;
        printf("%d,%s\n",head->next->student.num,head->next->student.name);
   }
       
        return head;
}



void main()
{
    int i;
     LNode *head;
     
      head=creatlist();
     for(i=1;i<=3;i++)
     {   
         printf("输出的第%d组数据是:\n",i);
         head=head->next;
         printf("%d%s\n",head->next->student.num,head->next->student.name);
   
     }
}
2008-11-06 22:32
jdshaoheyi
Rank: 1
等 级:新手上路
帖 子:133
专家分:5
注 册:2008-11-6
收藏
得分:0 
劝一句
编写程序时,加上必要的注释是很重要的.我在帮你调试程序时,光为了理解各个字符的意义就花了很长的时间!
2008-11-06 22:33
Linzxnju
Rank: 1
来 自:盐城
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-10-27
收藏
得分:0 
楼上正解

在通往牛X的路上我一路狂奔。。。
2008-11-06 23:13
快速回复:建立单链表
数据加载中...
 
   



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

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