欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

借书证信息管理系统,C语言实现

程序员文章站 2022-04-15 13:10:39
自己实现的如有缺漏欢迎提出 /* 原创文章 转载请附上原链接: https://www.cnblogs.com/jiujue/p/10325628.html */ 设计内容: 设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。 1)按照卡号顺 ......

自己实现的如有缺漏欢迎提出

/* 原创文章 转载请附上原链接: https://www.cnblogs.com/jiujue/p/10325628.html   */

设计内容:

设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。

1)按照卡号顺序进行排序;

2)能够实现查找某个系的所有的借书卡号并输出。

设计要求:

(1)建立关于借书证信息结点的结构体;

(2)定义借书证信息的记录并录入基本信息;

(3)写出用某种排序算法(如冒泡排序)按关键字对记录进行排序的算法函数;

  (4)对借书证信息的记录按系名建立索引查找结构;

  (5)输入某个要查找的系名,用索引查找方法查找并输出该系的所有借书证信息。

是学期末的课程设计,自己弄完觉得还可以,提供给有需要的人做参考。

有图万岁:

借书证信息管理系统,C语言实现

下面是代码实现:

1.头文件:(my_head.h)

借书证信息管理系统,C语言实现
 1 #pragma once
 2 #define _crt_secure_no_warnings
 3 #include<stdio.h>
 4 #include<windows.h>
 5 #include<stdlib.h>
 6 
 7 //这里改系别总个数
 8 #define depratment_number 3
 9 
10 typedef int once_sort;
11 
12 typedef struct card_node {
13 
14     once_sort is_sort;
15 
16     long long number;
17     char *name;
18     char *department;
19     long long  class_number;
20     struct card_node *next_node;
21     struct card_node *same_department_next_node;
22 }cr_node;
23 
24 
25 cr_node* initialize(cr_node** head);
26 int initialize_sort(cr_node *head);
27 //
28 int print(cr_node* head);
29 
30 int print_one(cr_node*node);
31 
32 int print_on_same_depart(cr_node *same_depaet_head);
33 
34 int print_same_depart(cr_node *index_list[depratment_number], char *str_depratment[depratment_number]);
35 
36 //
37 int input(cr_node*head);
38 
39 //
40 cr_node * find(cr_node * head, long long number);
41 
42 //
43 cr_node* delete_cr_crde(cr_node * head, long long number);
44 
45 //
46 cr_node *make_indexes_list(cr_node *head, char _str_depratment[]);
47 
48 cr_node *get_indexes_list(cr_node *head, char *department[], cr_node *index_list[depratment_number]);
49 
50 //
51 int sort_class_number(cr_node **head);
52 int get_class_sort_list(cr_node *head);
53 int sort_class_link(cr_node **head, int total);
54 
55 int sort_crad_number(cr_node **head);
56 int get_crad_number_sort_list(cr_node *head);
57 int sort_card_link(cr_node **head, int total);
view code

2.main函数入口:(source_1.c)

借书证信息管理系统,C语言实现
  1 #include"my_head.h"
  2 
  3 int card_number = 0;
  4 
  5 //point menu
  6 void print_menu()
  7 {
  8     printf("                                                                 \n");
  9     printf("                /-----------------------------------------------/\n"); 
 10     printf("                / ***          借书证管理系统             ******/\n"); 
 11     printf("                /  -->选项 :                             ******/\n");
 12     printf("                / ***    1.按卡号排序并输出前后结果   <    ******/\n"); 
 13     printf("                / ***    2.差找并输一个系的所有借书卡号 <  ******/\n"); 
 14     printf("                / ***    3.录入一个借书证   <              ******/\n"); 
 15     printf("                / ***    4.删除一个借书证   <              ******/\n");
 16     printf("                / ***    5.按关键字(例如 班号)进行排序 <   ******/\n"); 
 17     printf("                / ***    6.建立索引表并用其查找 <          ******/\n"); 
 18     printf("                / ***    7.退出本程序   <                  ******/\n"); 
 19     printf("                / ***    8.打印现有的借书证信息   <        ******/\n");
 20     printf("                / ***    9.惊喜 最好不要选        <        ******/\n");
 21     printf("                /-----------------------------------------------/\n"); 
 22     printf("\n \a                    #_#  请输入所要执行的操作 #_#\n");
 23     printf("\n                          (请输入数字 1-8 选择操作)\n"); sleep(500);
 24 }
 25 
 26 int main()
 27 {
 28     system("color d");
 29 
 30     system("title .                                                                                          #借书证信息管理系统# ");
 31     
 32     cr_node* head=null;
 33     cr_node* temp_node = null;
 34     cr_node *index_list[depratment_number];
 35 
 36     cr_node *sort_list[10];
 37     int i = 0;
 38 
 39     char str_find_depart_temp[64];
 40 
 41     long long temp = 0;
 42     int i_find_same = 0;
 43 
 44     initialize(&head);
 45 
 46     //添加系别步骤 1.在下方字符串里添加系名 2。在头文件定义里更改系别总个数 
 47     char *str_depratment[depratment_number] = { "计算机系","外语系","艺术系" };
 48 
 49 
 50     int operation;
 51     int exit_op;
 52     operation = 0;
 53 
 54     while (1)
 55     {
 56         print_menu();
 57         operation = 10;
 58         printf("\n请输入你要进行的操作 (确认输入时可能有时需两次按下 enter 键): \n");
 59 
 60         scanf("%d",&operation);
 61         
 62         {getchar(); getchar(); }
 63 
 64         switch (operation)
 65         {
 66         case 1:        //排序
 67 
 68             sort_crad_number(&head);
 69 
 70             system("pause");
 71             sleep(200);
 72             system("cls");
 73             break;
 74 
 75         case 2:        //查找一个系的全部成员并输出
 76 
 77             get_indexes_list(head, str_depratment, index_list);
 78 
 79             printf("请输入你要查找的系的名称 注: 先有 如下系名记录在系统  \n");
 80 
 81             gets_s(str_find_depart_temp,sizeof(str_find_depart_temp));
 82             printf("%s\n", str_find_depart_temp);
 83             if ("\\0" == str_find_depart_temp||"" == str_find_depart_temp)
 84             {
 85                 printf("输入的系别有误 请重新输入\n");
 86                 goto end;
 87             }
 88 
 89             {
 90                 int x=0;
 91 
 92                 while (x < depratment_number)
 93                 {
 94                     if (strstr(index_list[x]->department, str_find_depart_temp))
 95                     {
 96                         print_on_same_depart(index_list[x]);
 97                         goto end;
 98                     }
 99                     ++x;
100                 }
101                 if (x > depratment_number)
102                 {
103                     printf("输入的系别有误 请重新输入\n");
104                     goto end;
105                 }
106             }
107             
108 
109 
110     
111 
112 
113 end:        system("pause");
114             sleep(200);
115             system("cls");
116             break;
117 
118         case 3:        //录入一个
119 
120             input(head);
121 
122             system("pause");
123             sleep(200);
124             system("cls");
125             break;
126 
127         case 4:        //删除
128 
129             printf("please input card_number : \n");
130             scanf("%lld", &temp);
131 
132             head = delete_cr_crde(head, temp);
133 
134             system("pause");
135             sleep(200);
136             system("cls");
137             break;
138 
139         case 5:        //排序
140 
141             sort_class_number(&head);
142 
143             system("pause");
144             sleep(200);
145             system("cls");
146             break;
147 
148         case 6:        //建立索引表并用其查找
149 
150             get_indexes_list(head, str_depratment,index_list);
151 
152             print_same_depart(index_list, str_depratment);
153 
154             system("pause");
155             sleep(200);
156             system("cls");
157             break;
158 
159         case 7:        //exit()
160             
161             printf("\a");                            //are you want quit ?                    //warning you soon quit 
162             exit_op= messagebox(null, "确认过眼神,是要退出的人 !! ", "挽留一下下可以吗?", mb_yesno);
163             if (6 == exit_op)
164             {
165                 exit(-1);
166             }
167             printf("\t    您已取消退出 请继续使用 *_* \n\n");
168 
169             system("pause");
170             sleep(200);
171             system("cls");
172             break;
173 
174         case 8:        //打印现有的
175 
176             print(head);
177 
178             system("pause");
179 
180             sleep(200);
181             system("cls");
182             break;
183         case 9:    
184 
185             printf("\a people always have choicse。。。。\n");
186             printf("\n but always the wrong choice \n");
187             printf("\n cherish what you have at the moment\n");
188             printf("\n");
189             sleep(2000);
190 
191             system("cls");
192 
193             while (1)
194             {
195                 static int t = 0;
196                 if (t == 8)
197                 {
198                     t = 0;
199                 }
200                 char str[20];
201                 sprintf(str, "color %d%d", t, t + 1);
202                 if (0 == t % 2)
203                 {
204                     system("title .                                                                                          让你乱点 哈哈哈 ");
205                 }
206                 else
207                 {
208                     system("title .                                                                                          下次记得做个乖宝宝 !!! ");
209                 }
210                 system(str);
211                 printf("%s\n","且行且珍惜");
212                 ++t;
213                 //sleep(150);
214             }
215 
216             system("pause");
217 
218             sleep(200);
219             system("cls");
220             break;
221 
222         default:
223                                     //please input select operation number of you
224             printf("\a                   !!!!请输入 1 - 6 的数字来选择你的操作!!!!!\n");
225             sleep(500);
226                                     //tips : refresh after on 3 seconds ,again try input 
227             printf("\a                      *_* 提示: 2 秒后刷新 您可再次输入选项 *_* \n");
228 
229             sleep(2000);
230             system("cls");
231             break;
232         }
233     }
234     return 0;
235 }
view code

3.删除一个信息:(delete_cr_node.c)

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 cr_node* delete_cr_crde(cr_node * head,long long number)
 6 {
 7     cr_node *t1, *t2;
 8     t1 = head;
 9     t2 = head;
10     if (number == head->number)
11     {
12         t2 = head;
13         head = head->next_node;
14         free(t2);
15         return head;
16     }
17     while (t1 != null && t1->number != number)
18     {
19         t2 = t1;
20         t1 = t1->next_node;
21     }
22     if (null == t1)
23     {
24         printf("\n **** !!!!!!! key unexistent of in library_card_system !!!!!!! ****\n\n");
25         goto exception;
26     }
27     if (number == t1->number)
28     {
29         t2->next_node = t1->next_node;
30         card_number--;
31         free(t1);
32 
33         return head;
34     }
35 
36     
37 
38 exception:    return head;
39 
40 }
view code

4.查找:(find.c)

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 cr_node * find(cr_node * head, long long number)
 6 {
 7     if (null == head)
 8     {
 9         return null;
10     }
11     else
12     {
13         while (head->number != number)
14         {
15             head = head->next_node;
16         }
17         if (null == head)
18         {
19             return null;
20         }
21         else
22         {
23             return head;
24         }
25     }
26     
27 }
view code

5.获取排序后的顺序:(get_indexes_list.c)

借书证信息管理系统,C语言实现
 1 #include "my_head.h"
 2 extern card_number;
 3 cr_node *make_indexes_list(cr_node *head, char _str_depratment[])
 4 {
 5     cr_node *p1 = null;
 6     cr_node *p2 = head;
 7     if (null == head)
 8     {
 9         printf("输入为空 请检查 \n");
10         return null;
11     }
12     while (head)
13     {
14         if (strstr(head->department, _str_depratment))
15         {
16             p1 = head;
17             p2 = p1;
18             head = head->next_node;
19             break;
20         }
21         else
22         {
23             head = head->next_node;
24         }
25     }
26     while (head)
27     {
28         if (strstr(head->department, _str_depratment))
29         {
30             p2->same_department_next_node = head;
31             p2 = p2->same_department_next_node;
32             head = head->next_node;
33         }
34         else
35         {
36             head = head->next_node;
37         }
38     }
39     if (null == p1)
40     {
41         printf("提示:有未录入的系 如有需要请添加 \n");
42         return null;
43     }
44     p2->same_department_next_node = null;
45     return p1;
46 }
47 cr_node*get_indexes_list(cr_node*head, char*department[],
48     cr_node *index_list[depratment_number])
49 {
50     int i = 0;
51     while (i < depratment_number)
52     {
53         index_list[i] = make_indexes_list(head, department[i]);
54         ++i;
55     }
56     return index_list;
57 }
view code

6.初始化系统中的信息:(initialize.c)//这步可不执行 不影响使用

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 cr_node* initialize(cr_node** head) 
 6 {
 7     cr_node *p1=null, *p2 = null, *p3 = null;
 8 
 9     p1 = (cr_node*)malloc(sizeof(cr_node));
10     p2 = (cr_node*)malloc(sizeof(cr_node));
11     p3 = (cr_node*)malloc(sizeof(cr_node));
12 
13     p1->name = "张三";
14     p1->number = 1003;
15     p1->class_number = 2003;
16     p1->department = "计算机系";
17     p1->next_node = p2;
18     p1->same_department_next_node = null;
19     p1->is_sort = 0;
20     card_number++;
21 
22     p2->name = "王五";
23     p2->number = 1001;
24     p2->class_number = 2002;
25     p2->department = "外语系";
26     p2->next_node = p3;
27     p2->same_department_next_node = null;
28     p2->is_sort = 0;
29     card_number++;
30 
31     p3->name = "李四";
32     p3->number = 1002;
33     p3->class_number = 2001;
34     p3->department = "艺术系";
35     p3->next_node = null;
36     p3->same_department_next_node = null;
37     p3->is_sort = 0;
38     card_number++;
39 
40     *head = p1;
41 }
view code

7. 初始化链表的顺序:(init_sort.c)//博主的排序实现使用了和往常不一样的方法 有兴趣的可以好好研究哦 

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 
 4 int initialize_sort(cr_node *head)
 5 {
 6     while (head)
 7     {
 8         head->is_sort = 0;
 9         head = head->next_node;
10     }
11     return 1;
12 }
view code

8.录入一个信息的实现:(input_one.c):

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 int input(cr_node *head)
 6 {
 7     cr_node *p1 = null;
 8 
 9     char str[sizeof(cr_node)];
10 
11     static long long number;2
12     char *name = (char *)malloc(10);
13     char *department = (char *)malloc(64);
14     static long long  class_number;
15 
16     p1 = (cr_node *)malloc(sizeof(cr_node));
17     p1->next_node = null;
18 
19     while (head->next_node)
20     {
21         head = head->next_node;
22     }
23 
24     getchar();
25 
26     printf("请输入需要录入的信息  \n\n(输入格式提示 \
27     例如:[卡号 姓名 系别 班号] \
28     中括号里面的为一次录入,不用写中括号。 )\n\n");
29 
30     gets_s(str, sizeof(cr_node));
31 
32     sscanf(str,"%lld %s %s %lld",
33         &number, name,
34         department,&class_number);
35 
36     p1->number = number;
37     p1->name= name;
38     p1->department = department;
39     p1->class_number = class_number;
40     p1->is_sort = 0;
41     p1->same_department_next_node = null;
42 
43     printf("你刚刚的输入是:\n");
44     printf("card_number \tname \tdepartment \tclass_number\n\n\a");
45 
46     printf("%lld\t\t%s \t%s \t\t%lld\n\n",
47     p1->number, p1->name,
48     p1->department, p1->class_number);
49 
50     head->next_node=p1;
51     card_number++;
52 
53     system("pause");
54     return 0;
55 }
view code

9.打印信息的实现: //由于要求打印实现了很多 有兴趣的朋友可以用回调改一改 看起来会好一点

  (print_all.c):

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 int print(cr_node* head)
 6 {
 7     printf("当前系统共存储 %d 个借书证信息,所有信息如下:\n\n", card_number);
 8     printf("card_number \tname \tdepartment \tclass_number\n\n\a");
 9     while (null!=head)
10     {
11         printf("  %lld\t\t%s \t%s \t%lld\n\n",
12                 head->number, head->name, 
13                 head->department, head->class_number);
14         head = head->next_node;
15     }
16     return 0;
17 }
view code

  (print_all_same_depart.c):

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 int print_same_depart(cr_node *index_list[depratment_number], char *str_depratment[depratment_number])
 6 {
 7     cr_node *list_head = null;
 8 
 9     int i = 0;
10 
11     while (i < depratment_number)
12     {
13         list_head = index_list[i];
14         
15         
16         if (null == list_head)
17         {
18             printf("-->%s未录入 :\n",str_depratment[i]);
19             
20             ++i;
21             break;
22         }
23         printf("-->%s有如下 :\n", str_depratment[i]);
24         printf("ncard_number \tname \tdepartment \tclass_number\n\n\a");
25         while (null != list_head)
26         {
27 
28             printf("  %lld\t\t%s \t%s \t\t%lld\n\n",
29                 list_head->number, list_head->name,
30                 list_head->department, list_head->class_number);
31 
32             list_head = list_head->same_department_next_node;
33 
34         }
35         ++i;
36     }
37 
38     
39     return 0;
40 }
view code

  (print_on_same_department.c):

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 int print_on_same_depart(cr_node *same_depaet_head)
 6 {
 7         printf("ncard_number \tname \tdepartment \tclass_number\n\n\a");
 8         while (null != same_depaet_head)
 9         {
10             printf("  %lld\t\t%s \t%s \t\t%lld\n\n",
11                 same_depaet_head->number, same_depaet_head->name,
12                 same_depaet_head->department, same_depaet_head->class_number);
13             same_depaet_head = same_depaet_head->same_department_next_node;
14         }
15          return 0;
16 }
view code

  (print_one.c):

借书证信息管理系统,C语言实现
 1 #include"my_head.h"
 2 
 3 extern card_number;
 4 
 5 int print_one(cr_node* head)
 6 {
 7     printf("card_number \tname \tdepartment \tclass_number\n\n\a");
 8 
 9         printf("  %lld\t\t%s \t%s \t%lld\n\n",
10             head->number, head->name,
11             head->department, head->class_number);
12     return 0;
13 }
view code

10.两个排序的实现:(分别按 班号 卡号 的排序)

  (sort_class_number.c):

借书证信息管理系统,C语言实现
  1 #include"my_head.h"
  2 
  3 static cr_node **array_save = null;
  4 
  5 int get_class_sort_list(cr_node *head)
  6 {
  7 
  8     int total = 0;
  9 
 10     int x_save = 0;
 11 
 12     int flag=0;
 13 
 14     cr_node *temp_total = head;
 15 
 16     cr_node *temp_2 = head;
 17     
 18     cr_node *min_node = null;
 19     cr_node *current_node = null;
 20     
 21     while (temp_total)
 22     {
 23         temp_total = temp_total->next_node;
 24         ++total;
 25     }
 26 
 27     flag = total;
 28 
 29     array_save = (cr_node **)malloc(sizeof(cr_node*)*total);
 30 
 31     for(int j=0;j<total;++j)
 32     { 
 33         min_node = null;
 34         current_node = head;
 35         while (!min_node)
 36         {
 37             if (flag < 0)
 38             {
 39                 goto end;
 40             }
 41             if (temp_2->is_sort == 0)
 42             {
 43                 min_node = temp_2;
 44             }
 45             else
 46             {
 47                 temp_2 = temp_2->next_node;
 48             }
 49         }
 50 
 51         
 52         for (int i=0; i < total; ++i)
 53         {
 54             
 55             if (min_node->class_number > current_node->class_number&&0==current_node->is_sort)
 56             {
 57                 min_node = current_node;
 58                 current_node = current_node->next_node;
 59             }
 60             else
 61             {
 62                 current_node = current_node->next_node;
 63             }
 64         }
 65         min_node->is_sort = 1;
 66          *(array_save+ x_save)= min_node;
 67         
 68         ++x_save;
 69         --flag;
 70 
 71         
 72     }
 73 
 74 
 75 end: return total;
 76     
 77 
 78 }
 79 
 80 
 81 int sort_class_number(cr_node **head)
 82 {
 83     printf(" 按班号排序前 : \n");
 84     print(*head);
 85 
 86     initialize_sort(*head);
 87 
 88     int total= get_class_sort_list(*head);
 89 
 90     sort_class_link(head, total);
 91 
 92     printf(" 按班号排序后 : \n");
 93 
 94     print(*head);
 95 }
 96 
 97 
 98 int sort_class_link(cr_node **head, int total)
 99 {
100     int flag__=0;
101 
102     cr_node *p1 = null;
103     cr_node *p2 = *head;
104     cr_node **p3 = null;
105     cr_node **p4 = null;
106 
107     p1 = p2;
108 
109     while (p1 != null && p2 != null)
110     {
111         p1 = p2;
112         p2 = p1->next_node;
113 
114         p1->next_node = null;
115 
116     }
117 
118     *head = array_save[0];
119     
120     p3 = array_save;
121     
122 
123     while (flag__<total-1)
124     {
125         //p4 = &(*p3)->next_node;
126         
127         (*p3)->next_node = *(p3+1);
128         ++p3;
129         ++flag__;
130     }
131 
132 
133 
134 }
view code

  (sort_crad_number.c):

借书证信息管理系统,C语言实现
  1 #include"my_head.h"
  2 
  3 static cr_node **array_save = null;
  4 
  5 int get_crad_number_sort_list(cr_node *head)
  6 {
  7 
  8     int total = 0;
  9 
 10     int x_save = 0;
 11 
 12     int flag = 0;
 13 
 14     cr_node *temp_total = head;
 15 
 16     cr_node *temp_2 = head;
 17 
 18     cr_node *min_node = null;
 19     cr_node *current_node = null;
 20 
 21     while (temp_total)
 22     {
 23         temp_total = temp_total->next_node;
 24         ++total;
 25     }
 26 
 27     flag = total;
 28 
 29     array_save = (cr_node **)malloc(sizeof(cr_node*)*total);
 30 
 31     for (int j = 0; j < total; ++j)
 32     {
 33         min_node = null;
 34         current_node = head;
 35         while (!min_node)
 36         {
 37             if (flag < 0)
 38             {
 39                 goto end;
 40             }
 41             if (temp_2->is_sort == 0)
 42             {
 43                 min_node = temp_2;
 44             }
 45             else
 46             {
 47                 temp_2 = temp_2->next_node;
 48             }
 49         }
 50 
 51 
 52         for (int i = 0; i < total; ++i)
 53         {
 54 
 55             if (min_node->number > current_node->number && 0 == current_node->is_sort)
 56             {
 57                 min_node = current_node;
 58                 current_node = current_node->next_node;
 59             }
 60             else
 61             {
 62                 current_node = current_node->next_node;
 63             }
 64         }
 65         min_node->is_sort = 1;
 66         *(array_save + x_save) = min_node;
 67 
 68         ++x_save;
 69         --flag;
 70 
 71 
 72     }
 73 
 74 
 75 end: return total;
 76 
 77 }
 78 
 79 
 80 int sort_card_link(cr_node **head, int total)
 81 {
 82     int flag__ = 0;
 83 
 84     cr_node *p1 = null;
 85     cr_node *p2 = *head;
 86     cr_node **p3 = null;
 87     cr_node **p4 = null;
 88 
 89     p1 = p2;
 90 
 91     while (p1 != null && p2 != null)
 92     {
 93         p1 = p2;
 94         p2 = p1->next_node;
 95 
 96         p1->next_node = null;
 97 
 98     }
 99 
100     *head = array_save[0];
101 
102     p3 = array_save;
103 
104     while (flag__ < total - 1)
105     {
106 
107         (*p3)->next_node = *(p3 + 1);
108         ++p3;
109         ++flag__;
110     }
111 
112 }
113 
114 int sort_crad_number(cr_node **head)
115 {
116     printf(" 按卡号排序前 : \n");
117     print(*head);
118 
119     initialize_sort(*head);
120 
121     int total = get_crad_number_sort_list(*head);
122 
123     sort_card_link(head, total);
124 
125     printf(" 按卡号排序后 : \n");
126 
127     print(*head);
128 }
view code

 

结语:有问题欢迎提在下方 ,本人在校学生,时间较为充裕, 有时间会回复的。

/* 原创文章 转载请附上原链接: https://www.cnblogs.com/jiujue/p/10325628.html   */