目录
1,题目描述
2,思路
3,代码
1,题目描述
2,思路
将字符串中指定字符替换为其他字符。
直接看代码吧。。。
字符串处理
参考了这篇文章@小明他很忙 【C++ 中字符串查找、字符串截取、字符串替换】
3,代码
#include<iostream>
#include<vector>
#include<map>
#include<climits>
#include<string.h>
#include<string>
#include<algorithm>
using namespace std;
struct accont{
string name, modified;
};
bool isConfused(string &s){
bool ans = false;
for(int i = 0; i < s.length(); i++){
if(s[i] == '1'){
s.replace(i, 1, "@");//注意是双引号字符串
ans = true;
}else if(s[i] == '0'){
s.replace(i, 1, "%");
ans = true;
}else if(s[i] == 'l'){
s.replace(i, 1, "L");
ans = true;
}else if(s[i] == 'O'){
s.replace(i, 1, "o");
ans = true;
}
}
return ans;
}
int main(){
//#ifdef ONLINE_JUDGE
//#else
// freopen("1.txt", "r", stdin);
//#endif
int n;
cin>>n;
string name, password;
name.resize(10);
password.resize(10);
vector<accont> ans;
for(int i = 0; i < n; i++){
scanf("%s %s", &name[0], &password[0]);
if(isConfused(password) == true)
ans.push_back({name, password});
}
if(ans.size() == 0){
if(n == 1)
printf("There is 1 account and no account is modified"); //注意输出格式!
else
printf("There are %d accounts and no account is modified", n); //注意输出格式!
}else{
printf("%d\n", ans.size()); //注意输出格式!
for(int i = 0; i < ans.size(); i++){
printf("%s %s\n", ans[i].name.c_str(), ans[i].modified.c_str());//需要调用c_str()函数
}
}
return 0;
}
标签:password,20,name,签到,C++,else,ans,字符串,include From: https://blog.51cto.com/u_15849465/5801386