12.2.12两个学生信息链表的合并-一定要独立思考-不能为了节省时间过早看答案--效果很差

关于combine函数完全没有看明白,不能直接看成函数的功能

#include <stdio.h>
#include <malloc.h>
//学生结点 学号 成绩 指向下一个结点的指针
struct student
{
    char name[20]; // C语言中没有string类型的数据结构 使用数组需要进循环
    long number;
    int sorce;
    struct student *next;
};

//struct student *create;
void create(struct student *stu);
void print(struct student(*head));
struct student *combine(struct student *head1, struct student *head2, struct student *head);
void main()
{
    struct student *head1, head2;
    printf("create list A \n");
    struct student *head;
    head = malloc(sizeof(struct student));
    head = NULL;
}

//create a list
void create(struct student *stu)
{
    //需要给结构体分配空间
    stu = (struct student *)malloc(sizeof(struct student));
    printf("输入学生姓名:\n");
    int i = 0;
    scanf("%c", (*stu).name[i]);
    while ((*stu).name[i] != '\n' && i <= 20)
    {
        scanf(%)
    }

    scanf("%c", stu->name);
    printf("输出学生的学号:\n");
    scanf("%ld", stu->number);

    printf("输入学生分数:\n");
    scanf("%c", stu->sorce);
}
//开始理解错了,其实传入的是连个有序链表需要对两个链表进行重新拼接成一个有序链表
struct student *combine(struct student *head1, struct student *head2, struct student *head)
{
    //需要设计的从头结点开始遍历
    struct student *tmp = head;
    while (tmp != NULL)
    {
        if(tmp->number>)
    }
}
发布了212 篇原创文章 · 获赞 32 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_42664961/article/details/104045800