• 6-2 建立学生信息链表 (20 分)


    本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。

    函数接口定义:

    void input();
    

      

    该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:

    struct stud_node {
        int              num;      /*学号*/
        char             name[20]; /*姓名*/
        int              score;    /*成绩*/
        struct stud_node *next;    /*指向下个结点的指针*/
    };
    

      

    单向链表的头尾指针保存在全局变量headtail中。

    输入为若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束。

    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct stud_node {
         int    num;
         char   name[20];
         int    score;
         struct stud_node *next;
    };
    struct stud_node *head, *tail;
    
    void input();
    
    int main()
    {
        struct stud_node *p;
    	
        head = tail = NULL;
        input();
        for ( p = head; p != NULL; p = p->next )
            printf("%d %s %d
    ", p->num, p->name, p->score);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

      

    输入样例:

    1 zhang 78
    2 wang 80
    3 li 75
    4 zhao 85
    0
    

      

    输出样例:

    1 zhang 78
    2 wang 80
    3 li 75
    4 zhao 85
    

      

    void input()
    {
        struct stud_node *q;
        q=(struct stud_node *)malloc(sizeof(struct stud_node));
        scanf("%d", &q->num);
        while(q->num != 0)
        {
            scanf("%s %d", q->name, &q->score);
            if(head == NULL)
            {
                 head = q;
                 head->next = NULL;
            }
           if(tail != NULL)//tail为开辟节点
           {
               tail->next = q;
           }
            tail = q;
            tail->next = NULL;
            q=(struct stud_node *)malloc(sizeof(struct stud_node));
            scanf("%d", &q->num);
        }
            
    
    }
    

      

    作者:7oDo

    仅供参考,请勿抄袭。

    Hang Hang Hang !!!

  • 相关阅读:
    生产环境之Nginx高可用方案
    MySQL主从同步配置
    SpringBoot整合MyBatisPlus配置动态数据源
    循环有序数组,查找值
    数组任意取三个数中乘积最大值
    多线程输出123以及有序输出1-75
    有序数组取中值
    RocketMQ原理及源码解析
    docker基础常用命令
    项目常用命令
  • 原文地址:https://www.cnblogs.com/Jie-Fei/p/9648481.html
Copyright © 2020-2023  润新知