01 | #include <iostream> |
02 | using namespace std; |
03 | int s; |
04 | struct student |
05 | { |
06 | int Order; |
07 | char Name[10]; |
08 | char Sex[2]; |
09 | int Grade; |
10 | } temp; |
11 | struct node |
12 | { |
13 | struct student data; |
14 | struct node *next; |
15 | }*head; |
16 | void inserrt( struct node *head, int a, struct student b) |
17 | { |
18 | struct node *p,*q; |
19 | p=head; |
20 | for ( int i=0; i<a&&i<s; i++) |
21 | p=p->next; |
22 | q= new node; |
23 | q->data=b; |
24 | q->next=p->next; |
25 | p->next=q; |
26 | s++; |
27 | } |
28 | void show ( struct node*head) |
29 | { |
30 | struct node*p=head->next; |
31 | while (p) |
32 | { |
33 | cout<<p->data.Order<< " " <<p->data.Name<< " " <<p->data.Sex<< " " <<p->data.Grade<<endl; |
34 | p=p->next; |
35 | } |
36 | } |
37 | int main() |
38 | { |
39 | int a; |
40 | s=0; |
41 | head= new node; |
42 | head->next=NULL; |
43 | while (cin>>a&&a!=-1) |
44 | { |
45 | cin>>temp.Order>>temp.Name>>temp.Sex>>temp.Grade; |
46 | inserrt(head,a,temp); |
47 | } |
48 | show(head); |
49 | return 0; |
50 | } |