永发信息网

c语言编程题

答案:3  悬赏:20  手机版
解决时间 2021-04-13 13:58
c语言编程题
最佳答案

#include
#include
void myf_delsubstr(char *s,char *s1)
{char *p;
 int n;
 if((p=strstr(s,s1))==NULL)return;
 n=strlen(s1);
 for(;*p=*(p+n);p++);
}
int main()
{int x,i,y;
 char s[]="他是我的大学老师",s1[]="我的"; 
 myf_delsubstr(s,s1);
 printf("%s
",s);
 return 0;
}
全部回答
这代码能写 不算难
#include 

char *myf_delsubstr(char *str_all, char *str_drop)

 char *all = str_all;   //临时指针 指向全字串
 char *drop = str_drop; //临时指针 指向待删除字串
 char *tmp = NULL;      //临时指针 后面处理字串时使用
 static char out[1024] = {0}; //静态字串 作为返回值
 char *u = out;         //临时指针 指向返回的字串
 int drop_len = 0;      //待删除字串的长度
 
 //获取待删除字串的长度
 while ('' != *drop)
 {
  drop++;
  drop_len++;
 }
 
 //在获取长度时drop这个指针的指向已被改变 重新赋值
 drop = str_drop;
 
 
 while ('' != *all)//直到全字串结尾
 {
  if (*all == *drop)//发现第一个和待删除字串的第一个字符相等 准备进入二层循环排除或证明怀疑
  {
   tmp = all;//临时指针指向当前匹配的字串的首部
   while ('' != *drop)//直到待删除字段结尾
   {
    tmp++;//每次循环临时全字串和drop字串要往后偏移一位
    drop++;//每次循环临时全字串和drop字串要往后偏移一位
    if (*tmp != *drop)//一旦发现其中一个字符不相等 排除怀疑
    {
     break;
    }
   }
   if ('' != *drop)//如果还未检查到字串尾就出来了肯定是排除了怀疑
   {
    *u = *all;//既然排除怀疑那就把当前字符赋值到带返回的字串out中
    u++;//赋值后要往后偏移
    drop = str_drop;
   }
   else//证实了怀疑
   {
    all += drop_len;//全字串越过待删除的字段长度
    drop = str_drop;//指针的指向已被改变 重新赋值
    continue;//全字串中可能不止出现一次待删除的字串 继续全字串的检查
   }
  }
  else
  {
   *u = *all;//既然不是待删除字符那就把当前字符赋值到带返回的字串out中
   u++;//赋值后要往后偏移
  }
  
  all++;//既然是循环整个全字串检查 检查完一个字符后指针要往后偏移一位
 }
 
 return out;//u只是指向out这个字串的临时指针 我们返回的还是out本体
}
int main(int argc, char *argv[])
{
 char aa[1024] = {0};
 char bb[512] = {0};
 
 printf("输入一个字串: ");
 scanf("%s", aa);
 
 printf("输入需要删除的字串: ");
 scanf("%s", bb);
 
 char *kk = myf_delsubstr(aa, bb);
 printf("处理后的字串: %s ", kk);
    return 0;
}

输入一个字串:
我觉得你是不可能爱上我的因为我是一个男孩子
输入需要删除的字串:

处理后的字串:
觉得你是不可能爱上的因为是一个男孩子
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
qq登不上去怎么恢复
有关于薰衣草的英文群名片,要伤感的!(注:
阳光乐观的名言警句,关于阳光的名言
以<<我眼中的XX>>为题写一篇作文,最少350字,
单选题下列关于血型的叙述正确的是( )①A
分手了男友说你贱,还有必要和好吗?
我看到好多用手机在问问上回答问题,能详细的
秋天用什么洗发水比较护理头发,沙宣的成份是
池州有哪些好玩的地方?
如何用js做简单的页面切换过渡效果
校园玛丽苏剧有哪些,玛丽苏是什么意思?越详
地球是什么体?
右键点回收站出现这个VISPLORE,怎么消除掉?
德语的“我爱他”怎么写
单选题WewatcheveningnewsonChannel1o
推荐资讯
请问内江哪个慢摇吧.最好耍
深圳到俄罗斯空运 快递到俄罗斯要多久 多
QQ好友怎么一下全删了
这只蚕在干嘛?急死我了!
遭遇挫折、困境、不理解时,你如何面对?
吃核桃,红枣,头发能增多吗?
《蜀山》游戏交流……急急…哪个教下…谢了…
第二次世界大战后,西欧国家开始走向联合的主
加点词语的用法和其他三句不同类的一句是A.潭
HAPPY~在那里?
孟祖地址在什么地方,想过去办事
诚信计生宣传标语,写两条标语,分别不能超过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?