40

c语言链表相关问题,跪求大佬解惑

 #include <stdio.h>
 #include <string.h>
 #define MAXLEN  16
 struct arashi {
         char    name[MAXLEN];
         int     nenrei;
         double  shincho;
         struct arashi *next;
         struct arashi *prev;
 };
 void print(struct arashi *);
 void dattai(struct arashi);
 int
 main()
 {
         struct arashi a, r, s, h, i;

         strcpy(a.name, "Aiba");
         strcpy(r.name, "Ninomiya");
         strcpy(s.name, "Matsumoto");
         strcpy(h.name, "Oono");
         strcpy(i.name, "Sakurai");
         a.nenrei = 37;
         r.nenrei = 37;
         s.nenrei = 37;
         h.nenrei = 39;
         i.nenrei = 38;
         a.shincho = 176.0;
         r.shincho = 168.3;
         s.shincho = 173.8;
         h.shincho = 166.5;
         i.shincho = 171.2;
         /**************** 10 lines */
         a.next=&r;
         r.next=&s;
         s.next=&h;
         h.next=&i;
         i.next=NULL;
         i.prev=&h;
         h.prev=&s;
         s.prev=&r;
         r.prev=&a;
         a.prev=NULL;
         /****************/

         printf("hitori nuketa\n");
         dattai(r);
         print(&a);

         printf("\nfutari nuketa\n");
         dattai(h);
         print(&a);
         return 0;
 }
 print(struct arashi *f)
 {
         struct arashi   *b;

         while (f!=NULL) {
                 printf("%-9s [%d, %.3f]\n", f->name, f->nenrei, f->shincho); 
                     b=f;
                     f=f->next;
         }
         putchar('\n');
          while (b) {
                 printf("%-9s [%d, %.3f]\n", b->name, b->nenrei, b->shincho); 
                     b=b->prev;
         }
 }
  void dattai(struct arashi){
      
  } 

dattai是删除数据的函数

要求除了dattai任何地方都不能修改,最后输出如图

跪求大佬解惑

查看全部
weixin_40377939
weixin_40377939
2020/11/29 17:23
  • c语言
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

4个回复