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

新手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条)

报告相同问题?

悬赏问题

  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?