单链表字符串输入,还要实现增删改查!求解!该如何处理

单链表字符串输入,还要实现增删改查!急急急!求解!
怎样才能让单链表实现字符串输入,还要实现增删改查!急急急!求解!求源码
------解决方案--------------------
#include <stdio.h> 
#include <stdlib.h> 
  
typedef int ElemType; 
////////////////////////////////////////////  
  
//定义结点类型  
typedef struct Node 

    ElemType data;              //单链表中的数据域  
    struct Node *next;          //单链表的指针域  
}Node,*LinkedList; 
  
////////////////////////////////////////////  
  
//单链表的初始化 
  
LinkedList LinkedListInit() 

    Node *L; 
    L = (Node *)malloc(sizeof(Node));   //申请结点空间  
    if(L == NULL)                       //判断是否有足够的内存空间  
        printf("申请内存空间失败\n"); 
    L->next = NULL;                  //将next设置为NULL,初始长度为0的单链表  

  
////////////////////////////////////////////  
  
//单链表的建立1,头插法建立单链表 
  
LinkedList LinkedListCreatH() 

    Node *L; 
    L = (Node *)malloc(sizeof(Node));   //申请头结点空间 
    L->next = NULL;                      //初始化一个空链表 
      
    ElemType x;                         //x为链表数据域中的数据 
    while(scanf("%d",&x) != EOF) 
    { 
        Node *p; 
        p = (Node *)malloc(sizeof(Node));   //申请新的结点  
        p->data = x;                     //结点数据域赋值  
        p->next = L->next;                    //将结点插入到表头L-->
------解决方案--------------------
2
------解决方案--------------------
-->
------解决方案--------------------
1
------解决方案--------------------
-->NULL  
        L->next = p;  
    } 
    return L;  
}  
  
////////////////////////////////////////////  
  
//单链表的建立2,尾插法建立单链表 
  
LinkedList LinkedListCreatT() 

    Node *L; 
    L = (Node *)malloc(sizeof(Node));   //申请头结点空间 
    L->next = NULL;                  //初始化一个空链表 
    Node *r; 
    r = L;                          //r始终指向终端结点,开始时指向头结点  
    ElemType x;                         //x为链表数据域中的数据 
    while(scanf("%d",&x) != EOF) 
    { 
        Node *p; 
        p = (Node *)malloc(sizeof(Node));   //申请新的结点  
        p->data = x;                     //结点数据域赋值  
        r->next = p;                 //将结点插入到表头L-->
------解决方案--------------------
1
------解决方案--------------------
-->
------解决方案--------------------
2
------解决方案--------------------
-->NULL  
        r = p;  
    } 
    r->next = NULL;