/* Note:Your choice is C IDE */

#include "stdio.h"

#include "malloc.h"

struct node

{

      intdata;

      structnode *next;

};

typedef struct node NODE;

NODE *create_linklist(int n)

{

      NODE*p,*q,*head;

      inti;

      p=(NODE*)malloc(sizeof(NODE));

      head=p;

      printf("请输入这%d个数:",n);

      for(i=1;i<=n;i++)

      {

             q=(NODE*)malloc(sizeof(NODE));

             p->next=q;

scanf("%d",&q->data);

             p=q;

      }

   printf("\n列表创建成功");      

   p=head;

      for(i=1;i<=n;i++)

      {

             q=p->next;

             p=q;

             printf("%d",q->data);

}

      return(head);

}

NODE insert(NODE *head,int k,int l,int n)

{

      NODE*s,*p,*q;

      inti;

      s=(NODE*)malloc(sizeof(NODE));

      s->data=l;

      p=head;

      for(i=1;i<=k;i++)

      {

             q=p->next;

             p=q;

      }

      s->next=p->next;

      p->next=s;

  printf("\n数据插入成功:");      

  p=head;

      for(i=1;i<=n+1;i++)

      {

             q=p->next;

             p=q;

             printf("%d",q->data);

      }

}

main()

{

  int n,k,l;

  NODE *head;

  printf("\n你要创建多少个数的列表:");

  scanf("%d",&n);

  head=create_linklist(n);

  printf("\n你要插入在第几个数后面:");

  scanf("%d",&k);

  printf("\n你要插入的数是:");

  scanf("%d",&l);

  insert(head,k,l,n);

}