题目链接:点击打开链接
知识点笔记:
注意输出的单复数判断,这个坑。。
AC代码:
#include <iostream>
#include <cstring>
using namespace std;
struct user{
char name[20];
char password[20];
bool modify=false;
}users[1005];
int main() {
int n,cnt=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%s %s",users[i].name,users[i].password);
int len=strlen(users[i].password);
for(int j=0;j<len;j++){
if(users[i].password[j]=='1'){
users[i].password[j]='@';
users[i].modify=true;
}else if(users[i].password[j]=='0'){
users[i].password[j]='%';
users[i].modify=true;
}else if(users[i].password[j]=='l'){
users[i].password[j]='L';
users[i].modify=true;
}else if(users[i].password[j]=='O'){
users[i].password[j]='o';
users[i].modify=true;
}
}
if(users[i].modify) cnt++;
}
if(cnt==0){
if(n==1){
printf("There is %d account and no account is modified",n);
}else{
printf("There are %d accounts and no account is modified",n);
}
}else{
printf("%d\n",cnt);
for(int i=0;i<n;i++){
if(users[i].modify==true){
printf("%s %s\n",users[i].name,users[i].password);
}
}
}
return 0;
}