#include<iostream>
#include<string>
using namespace std;
struct people{
string name;
string passwd;
bool ischange;
}p[1010];
void replace(struct people &a,int &cnt){
for(int i=0;i<a.passwd.length();i++){
if(a.passwd[i]=='1'){
a.passwd[i]='@';
a.ischange=true;
}
if(a.passwd[i]=='0'){
a.passwd[i]='%';
a.ischange=true;
}
if(a.passwd[i]=='l'){
a.passwd[i]='L';
a.ischange=true;
}
if(a.passwd[i]=='O'){
a.passwd[i]='o';
a.ischange=true;
}
}
if(a.ischange) cnt++;
}
int main(){
int N;
int count=0;
cin>>N;
for(int i=0;i<N;i++){
cin>>p[i].name>>p[i].passwd;
p[i].ischange=false;
}
for(int i=0;i<N;i++){
replace(p[i],count);
}
if(count==0){
if(N==1){
cout<<"There is 1 account and no account is modified"<<endl;
}
else{
cout<<"There are "<<N<<" accounts and no account is modified"<<endl;
}
}
else{
cout<<count<<endl;
for(int i=0;i<N;i++){
if(p[i].ischange){
cout<<p[i].name<<" "<<p[i].passwd<<endl;
}
}
}
}
1035. Password (20)PAT 甲级
最新推荐文章于 2025-08-30 18:22:04 发布
本文介绍了一个简单的C++程序,该程序用于遍历用户信息结构体数组中的每个元素,并将特定字符替换为新的字符。例如,'1' 替换为 '@','0' 替换为 '%','l' 替换为 'L','O' 替换为 'o'。程序统计了修改过的账户数量,并输出这些修改后的账户信息。
466

被折叠的 条评论
为什么被折叠?



