用指针实现!请问有人会吗?

编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。(要求用指针实现)

用正则筛选一下,regex_match

#include<iostream>
#include<stdlib.h>
using namespace std;
#define ElemType char
typedef struct LNode{
    ElemType data;
    struct LNode * next;
}LNode, *LinkList;

//尾插法 建立带头结点的链式线性表
void CreateLinkList_(LinkList &L){
    L = (LinkList)malloc(sizeof(LNode));
    L->next = NULL;
    LinkList q = L;
    char ch;
    printf("Init:");
    while (scanf("%c",&ch) && ch!='\n'){
        LinkList p = (LinkList)malloc(sizeof(LNode));
        p->data = ch;
        p->next = NULL;
        q->next = p;
        q = p;
    }
}
void Delete(LinkList &L){
    LinkList p = L->next, q=L;
    while (p){
        if(!((65<=p->data&&p->data<=90) || (97<=p->data&&p->data<=122))){
            q->next = p->next;
            free(p);
            p=q;
        }
        q=p;
        p = p->next;
    }
}
void Print(LinkList L){
    LinkList p = L->next;
    while(p){
        printf("%c",p->data);
        p = p->next;
    }
    printf("\n");
}
int main(){
    LinkList L;
    CreateLinkList_(L);
    Delete(L);
    Print(L);
    return 1;
}

我借助链表实现了,肯定用指针了。

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html