例:
「彼らは学生です」と入力し、「AEIOU」、削除後の最初の文字列は「汝のRのstdntsを。」となり
入力説明:各テストは、2つの入力文字列が含まれています。
出力説明:出力文字列が削除されました。
例:彼らは学生やなたのRのstdntsあるAEIOU入出力..
#include <iostream>
#include <string>
using namespace std;
string string_delete(string & str, int i){
for (int j = i + 1; j < str.size() + 1; j++){
str[i] = str[j];
i++;
}
return str;
}
int main(){
string str1;
string str2;
int i, j;
//不能用cin接受字符串,因为cin遇到空格就结束了
//输入字符串最好用getline
getline(cin, str1);
getline(cin, str2);
for (i = 0; i < str1.size(); i++){
for (j = 0; j < str2.size(); j++){
if (str1[i] == str2[j]){
string_delete(str1, i);
}
}
}
cout << str1;
system("pause");
return 0;
}
注:
遭遇cinを1、スペースが終わったので、入力文字列がgetlineのを使用するのが最善である、文字列CINを受け入れることはできません。
2、私はアルゴリズムは比較的粗いです使用し、再び2つの文字列を横断する同じ文字を探して、出会いの後に削除機能を呼び出します。
3、削除機能は、削除されるの着信位置、削除したい場所、上書きにコピーした後に削除される文字の位置は比較的簡単です。