• c语言的一个简单的链表


    此程序为作业题:

    但不忍丢弃成果;

    所以记一下:

    哦,对了,有一个易错点:在链表里,字符要用字符数组,不能用单个字符。

    #include<stdio.h>
    #include<stdio.h>
    struct menu * head;
    int n=0;
    struct menu
    {
     char name[10];
     int no;
     struct menu* next;
     };
     void add()
     {
      struct menu* p1,*p2;
      p1=p2=(struct menu*)malloc(sizeof(struct menu));
      head->next=p1;
      printf("按(0,0)结束 ");
      printf("请输入菜名和价格 ");
      scanf("%s%d",p2->name,&p2->no);
      while(p2->no!=0)
      {
      n=n+1;
      p1->next=p2;
      p1=p2;
      p2=(struct menu*)malloc(sizeof(struct menu));
      scanf("%s%d",p2->name,&p2->no);
      }
      p1->next=NULL;
     }
     void print()
     {
      struct menu* p1;
      p1=head->next;
      while(p1!=NULL)
      {
       printf("%s %d ",p1->name,p1->no);
       p1=p1->next;
      }
     }
     void cha_ru()
     {
      int i,a;
     struct menu *p1,*p2;
     p1=p2=(struct menu *)malloc(sizeof(struct menu));
     p1=head;
     printf("请输入你要插入的节点前的位置");
     scanf("%d",&a);
     for(i=0;i<a-1;i++)
     p1=p1->next;
     scanf("%s%d",p2->name,&p2->no);
     p2->next=p1->next;
     p1->next=p2;
    }
    void shanchu()
    {
     int i,a;
     struct menu *p1;
     p1=(struct menu *)malloc(sizeof(struct menu));
     p1=head;
     printf("请输入你要删除的位置 ");
     scanf("%d",&a);
     for(i=0;i<a-1;i++)
     p1=p1->next;
     p1->next=p1->next->next;
    }
     int main()
     {
      int a=0;
       head=(struct menu*)malloc(sizeof(struct menu));
      head->next=NULL;
      printf("请输入你要的功能 ");
      printf("输入按1 输出按2 删除按3 插入按4 ");
      while(1)
    {
       scanf("%d",&a);
       switch(a)
       {
        case 1:add();break;
        case 2:print();break;
        case 3:shanchu();break;
        case 4:cha_ru();break;
       }
       if(a==' ')
       break;
        printf("请继续你要的功能 ");
      }

  • 相关阅读:
    ArcGis Engine中实现对符号的预览图输出
    重置IE为系统默认浏览器和VS2005的默认浏览器
    符号库制作过程说明
    关于arcgis engine符号库的讨论
    ArcGIS平台上的完美符号化插件方案
    Windows下的所有运行命令,你知多少?
    MapObjects地图填充符号库扩展
    用iframe 自动适应高度
    完美的C++:C++/CLI
    免费顶级CN域名,现在是每天10个
  • 原文地址:https://www.cnblogs.com/maodun/p/6150233.html
Copyright © 2020-2023  润新知