字符串处理题

dreamhunter_lan 2011-09-27 08:48:40
一个字符串中的一个字串满足第一个字符与第三个字符一样的就称为驼峰串,比如ACA、HGH这种的,写一个函数去掉随机输入的一个字符串中的驼峰串,让处理后的字符串中没有驼峰串,比如输入:abcdsasakac,输出:ab
...全文
130 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
薛定谔之死猫 2011-09-27
  • 打赏
  • 举报
回复
模式匹配,删除,模式匹配,删除......
三石君~Leo 2011-09-27
  • 打赏
  • 举报
回复
ABAB 这样的串,是删除那个好呢?
暮雨晨舟 2011-09-27
  • 打赏
  • 举报
回复
各种高手,围观学习
堕落的乞讨者 2011-09-27
  • 打赏
  • 举报
回复
我也写了一个,仅供参考。

#include <stdio.h>
#include <string.h>
#include <assert.h>
bool isTuoFengStr(char *strSor)
{
assert(strSor);
if(*strSor==*(strSor+2)) return true;
else return false;
}
char* cutTuoFeng (char *strSor)
{
bool flag=false;
char *result,*p=strSor;
result=p;
while(*p!='\0')
{
flag=isTuoFengStr(p);
if(true==flag)
{
strcpy(p,p+3);
p=strSor;
}
else p++;
}
return result;
}

int main()
{
char a[50];
printf("Please input a string:");
scanf("%s",a);
char *res;
printf("(%s) delete Tuofeng string is:",a);
res=cutTuoFeng(a);
printf("%s\n",res);
return 0;
}
柯本 2011-09-27
  • 打赏
  • 举报
回复
随手写了一个,没考虑效率,边界用了简单处理,供参考

#include <stdio.h>
#include <string.h>

void proc_s(char *buff)
{
char *tmp;
char result[200],*r;
// int i;
int stat;

do {
stat=0;
tmp=buff;
r=result;
while(*tmp)
{
if (*tmp==*(tmp+2))
{
tmp+=3;

stat=1;
}
else
*r++=*tmp++;
}

*r='\0';
memset(buff,0,200);
strcpy(buff,result);
}while(stat==1);

}

int main()
{
char buff[200];
memset(buff,0,sizeof(buff));
gets(buff);
printf("old str=%s\n",buff);
proc_s(buff);
printf("new str=%s\n",buff);
}
MYMGrub 2011-09-27
  • 打赏
  • 举报
回复
说题里又没说有长度的限制,只留下第一个不就完了...
堕落的乞讨者 2011-09-27
  • 打赏
  • 举报
回复
这题写出来代码应该不短吧
君恪 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 anyidan 的回复:]
遍历、比较、删除、移动、循环
[/Quote]
怎么做算法复杂度才能低?这玩意是不是得搞到链表里去操作啊?
AndyZhang 2011-09-27
  • 打赏
  • 举报
回复
这个就循环遍历一次,判断有没有,有的话旧删除就行了
AnYidan 2011-09-27
  • 打赏
  • 举报
回复
遍历、比较、删除、移动、循环
猿创日记 2011-09-27
  • 打赏
  • 举报
回复
两个函数。
bool isTuoFengStr(char *strSor);
char* cutTuoFeng (char *strSor);
循环判断strSor是不是驼峰,是的话砍掉驼峰。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧