哈工大机考:字符串去特定字符

时间限制:1秒 空间限制:32768K 

题目描述

输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。
输入描述:
测试数据有多组,每组输入字符串s和字符c。
输出描述:
对于每组输入,输出去除c字符后的结果。
输入例子:
heallo a
输出例子:
hello
思路:这个没啥好说的照着做就行,但咱写的过程中遇到一个小问题;
代码:
#include <iostream>
#include <stdio.h>
using namespace std;

int main(){
  string s;
  char c;
  while(getline(cin,s)){
  cin>>c;
  for(int i=0;i<s.size();i++){
   if(s[i]!=c)
    cout<<s[i];
  }
  cout<<endl;
  getchar();//为啥一定要加这一行呢?
  }
  return 0;
}

咱当时就想字符串可能出现空格,于是就用了getline(),结果出现了问题,必须得在后面加上一个getchar()

换成cin的话就没有这个问题

代码:

#include <iostream>
#include <stdio.h>
using namespace std;

int main(){
  string s;
  char c;
  while(cin>>s){
  cin>>c;
  for(int i=0;i<s.size();i++){
   if(s[i]!=c)
    cout<<s[i];
  }
  cout<<endl;
  }
  return 0;
}

o(╯□╰)o

原文地址:https://www.cnblogs.com/mlgjb/p/6875478.html