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

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题