zoukankan      html  css  js  c++  java
  • 统计学生信息(使用链表完成)

    【描述】

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

    其中,学号长度不超过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
    ", 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 }
  • 相关阅读:
    Linux常用命令_(系统设置)
    Linux常用命令_(系统管理)
    Linux常用命令_(基本命令)
    敏捷测试的流程
    Web测试Selenium:如何选取元素
    Selenium学习
    Selenium介绍
    Selenium测试规划
    HTTPS传输协议原理
    常见的加密算法
  • 原文地址:https://www.cnblogs.com/mrclr/p/8326109.html
Copyright © 2011-2022 走看看