- 论坛徽章:
- 0
|
int main()
{
char buf[100];
char *input=buf;
char stack[100]; //used to record ( or [
char *sp=stack;
scanf("%s", buf);
while(*input != '\0'){
switch(*input){
case '(' :
*sp++ = '(';
break;
case '[' :
*sp++ = '[';
break;
case ')' :
--sp;
break;
case ']' :
--sp;
break;
default :
if(sp == stack || *(sp-1) == '[')
printf("%c", *input);
}
++input;
}
printf("\n");
return 0;
}
原帖由 xuchaokyle 于 2008-9-5 14:37 发表 ![]()
用C语言写一个函数,完成的功能如下:
清除掉圆括号()里面的字符,但是保留方括号[]里面的字符
前提条件:输入的字符串中括号成对出现
例如:
abc(de[fg]hmw)z
经过函数后最后的结果是abcfgz |
|