统计学生信息(使用链表完成)

Posted $mathfr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计学生信息(使用链表完成)相关的知识,希望对你有一定的参考价值。

【描述】

利用动态链表记录从标准输入输入的学生信息(学号、姓名、性别、年龄、得分、地址)

其中,学号长度不超过20, 姓名长度不超过40, 性别长度为1, 地址长度不超过40

【输入】

输入包括若干行,每一行都是一个学生的信息,如:
00630018 zhouyan m 20 10.0 28#460
输入的最后以"end"结束

【输出】

输出将输入的内容倒序输出
每行一条记录,按照
学号 姓名 性别 年龄 得分 地址
的格式输出

 

【水题一枚】建一个双向链表,倒着输出。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7 struct stu
 8 {
 9     char num[25], name[45], sex, scr[45];  //score也要用字符串!贼坑!调了我20分钟!
10     int age;
11     char addr[45];
12     bool scan()
13     {
14         scanf("%s", num);
15         if(strcmp(num, "end") == 0) return true;
16         scanf("%s %c", name, &sex);
17         scanf("%d %s %s", &age, scr, addr);
18         return false;
19     }
20     void print()
21     {
22         printf("%s %s %c ", num, name, sex);
23         printf("%d %s %s\n", age, scr, addr);
24     }
25 };
26 struct node
27 {
28     stu data;
29     node *pre, *next;
30 }*head, *tail, *p;
31 int main()
32 {
33     head = new node;
34     head -> next = NULL;
35     head -> pre = NULL;
36     tail = head;
37     while(1)
38     {
39         
40         p = new node;
41         if(p -> data.scan()) break;
42         p -> pre = tail;
43         tail -> next = p;
44         p -> next = NULL; tail = p;
45     }
46     p = tail;
47     while(p != head)
48     {
49         p -> data.print();
50         p = p -> pre;
51     }
52     return 0;
53 }

 

以上是关于统计学生信息(使用链表完成)的主要内容,如果未能解决你的问题,请参考以下文章

C项目 文件,结构体,链表,排序, 学生信息管理系统

学生信息管理系统(链表&&C语言)

c语言!!!程序设计:建立一个学生信息链表,包括学号,姓名,成绩.(实现添加,删除,查询,排序,平均)

线性表-链表的实现--基于学生信息管理

C语言链表问题,作业编程。编好出现问题。高手看下。

用栈完成学生信息管理删除和撤销(C语言)