qq_32653757 2015-11-12 03:18 采纳率: 76.9%
浏览 2146
已采纳

新手OJ, 删除字符串中指定字符, 感觉没错, 但总是超出输出限制, 求大神指点

Description
从一个字符串中,删去某个字符。

Input
有多个测试用例,每个测试用例占两行,第一行是要删除的字符,第二行是一个字符串。字符串长度不超过1024。

Output
对应每个测试用例,单独输出一行:删除那个字符之后的字符串。

Sample Input
a
abacad
b
abbbbb

Sample Output
bcd
a

Hint
这题可以不用存储字符串,只需逐个读入字符,判断是否==要删的字符,!=则输出。

+++++++++++++++++++++++++++++++++++++++++++++======

#include
int main(void){
char ch, ch1, cha, c[1030];
int i;
while((ch1=getchar())!=0){
cha=getchar();

gets(c);

for(i=0; i<=1026; i++){
if(c[i]=='\0')
break;
if(c[i]!=ch1)
printf("%c", c[i]);
}
printf("\n");
}
return 0;
}

PS: 我用他提示的思路的话, 提示超时

  • 写回答

2条回答 默认 最新

  • 野孩子1991 2015-11-12 13:17
    关注

    我把你的内循环改一下:

    #include
    int main( ){
    char ch, ch1, cha;
    while( (ch1=getchar()) != 0 ){
    cha=getchar();
    while( (ch = getchar(),ch) != '\n')
    {
    if(ch != ch1)
    printf("%c", ch);
    }
    printf("\n");
    }
    return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题