6-10 建立学生信息链表(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\n", 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 *p,*l; 
    l = p = (struct stud_node*)malloc(40); 
    head = p;
    scanf("%d%s%d", &p->num,p->name,&p->score);
    if(p->num==0)
        head=NULL;
    while (p->num!= 0)
    {
        l = p;   
        p = (struct stud_node*)malloc(40);
        scanf("%d%s%d", &p->num,p->name,&p->score);
        l->next = p;
    }
    l->next = NULL;
}
目录
相关文章
|
5月前
尾插法建立链表
尾插法建立链表
27 0
尾插法建立链表
数据结构实验之链表二:逆序建立链表
数据结构实验之链表二:逆序建立链表
|
5月前
|
存储 C语言
[C语言/PTA] 建立学生信息链表
[C语言/PTA] 建立学生信息链表
94 0
|
机器学习/深度学习 算法 C语言
数据结构与算法-实验1链表的建立与操作
1. 掌握链表的数据结构 2. 建立空链表 3. 用头插法向链表插入数据,实验数据: 验证数据:20,20,17,16,15,15,11,10,8,7,7,5,4 4. 依次输出链表中的数据 5. 利用链表原空间进行对链表进行反转 6. 依次输出反转后的链表数据,以判断反转操作的正确性,注意反转后,链表的第一个和最后一个元素是否正确 7,进阶要求:删除无序链表的重复元素。
174 0
数据结构与算法-实验1链表的建立与操作
6-3 建立学生信息链表
本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。
232 0
统计学生信息(使用链表完成)
题目链接:http://ica.openjudge.cn/struct/3/ 总时间限制: 1000ms  内存限制: 65536kB 描述 利用动态链表记录从标准输入输入的学生信息(学号、姓名、性别、年龄、得分、地址) 其中,学号长度不超过20, 姓名长度不超过40, 性别长度为1, 地址长度...
1196 0
数据结构实验之链表二:逆序建立链表
数据结构实验之链表二:逆序建立链表 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。
1383 0
|
4月前
|
存储 SQL 算法
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
|
4月前
|
存储 SQL 算法
LeetCode 题目 86:分隔链表
LeetCode 题目 86:分隔链表