苦恼的傻冬瓜 2021-11-22 12:47 采纳率: 75%
浏览 71
已结题

输入的字符串中只包含字母和*号。请编写程序,将字符串中*号全部删除

要求:不得使用C语言提供的字符串函数
更进一步:删除字符串中的号,但保留末尾的
环境:visual c++2010

  • 写回答

1条回答 默认 最新

  • 汇编出错 2021-11-22 15:14
    关注

    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>

    typedef struct CH
    {
    char c;
    struct CH *next;
    }ch;

    ch * initCH()
    {
    char c;
    ch *head=(ch *)malloc(sizeof(ch)),*a=NULL,*temp=NULL;
    if(!head)
    {
    printf("创建失败!\n");
    exit(0);
    }
    temp=head;
    temp->c='0';
    temp->next=NULL;
    printf("输入一个字符串,并以-结束。\n");
    while(1)
    {
    c=getch();
    if(c=='-')
    break;
    else if((c>='a'&&c<='z')||c=='*')
    {
    a=(ch *)malloc(sizeof(ch));
    a->c=c;
    a->next=NULL;
    temp->next=a;
    temp=a;
    printf("c=%c \n",a->c);
    }
    }
    return head;
    }

    void show(ch *head)
    {
    ch *p=head->next;
    printf("-----------------\n");
    while(p)
    {
    printf("%c ",p->c);
    p=p->next;
    }
    printf("\n");
    }

    ch * fun(ch *head)
    {
    ch *p1=head,p2=head->next;
    while(p2)
    {
    if(p2->c=='
    ')
    p1->next=p2->next;
    else
    p1=p2;
    p2=p2->next;
    }
    return head;
    }

    void main()
    {
    ch *head=initCH();
    show(head);
    fun(head);
    show(head);
    }

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月12日
  • 创建了问题 11月22日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部