标题:要编写一个输入学生学号、姓名、性别的程序,并以‘#’结束输入,然后输入学 ...
取消只看楼主
剑侠
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-5-13
结帖率:100%
已结贴  问题点数:20 回复次数:1 
要编写一个输入学生学号、姓名、性别的程序,并以‘#’结束输入,然后输入学号删除该学号同学,要求使用单链表,求大神帮忙看看我的程序错在哪里?
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef char datatype;
struct student{
    char num[10];
    char name[10];
    char sex[5];
};
typedef struct node{
    struct student data;
    struct node *next;
}linklist;
linklist *head;
linklist *creat(){
    linklist *head,*r,*l;
    head=NULL;
    r=NULL;
    while(1){
        char ch;
        l=(linklist*)malloc(sizeof(linklist));
        scanf("%s%s%s",l->data.num,l->data.name,l->data.sex);
        scanf("%c",ch);
        if('ch'=='#')break;
        if(head==NULL)head=l;
        else r->next=l;
        r=l;
    }
    if(r=NULL)r->next=NULL;
    return head;
}
linklist *dele(linklist*head){
    linklist *p,*s;
    p=head;
    s=(linklist*)malloc(sizeof(linklist));
    scanf("%s",s->data.num);
    while(p->next->data.num!=s->data.num){
        p->next=p->next->next;
        if(p->next=NULL)break;
    }
    if(p->next=NULL)printf("该学生不存在");
    p->next=p->next->next;
    return head;
}
linklist *print(linklist*head){
    linklist *p;
    p=head;
    while(p!=NULL){
        printf("%s%s%s",p->data.num,p->data.name,p->data.sex);
    }
}
int main(){
    linklist *l,*k;
    l=creat();
    k=dele(l);
    print(k);
}
搜索更多相关主题的帖子: include 姓名 
2017-05-13 18:14
剑侠
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-5-13
得分:0 
回复 3楼 Emotiona
谢谢指点
2017-05-19 16:52



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




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

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