#include<cstdio>
struct account{
char username[11];
char password[11];
} test[1001];
int main(){
int n,m=0,record[1001],flag=0;//m是修改过的密码总数,record[1001]记录修改过的账户下标,flag=1表示账户密码已修改
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%s %s",test[i].username,test[i].password);//输入账户密码
flag=0;//默认未修改
for(int j=0;test[i].password[j]!='\0';j++){//检查该账户密码的每一位
switch(test[i].password[j]){//替换指定字符
case '1': {test[i].password[j]='@';flag=1;break;}
case '0': {test[i].password[j]='%';flag=1;break;}
case 'l': {test[i].password[j]='L';flag=1;break;}
case 'O': {test[i].password[j]='o';flag=1;break;}
}
}
if(flag) record[m++]=i;//如果已修改,则保存下标
}
if(m==0){//没有一个账户密码修改
if(n==1) printf("There is 1 account and no account is modified");//注意n=1时account是单数,be动词是is
else printf("There are %d accounts and no account is modified",n);
}
else{
printf("%d\n",m);
for(int i=0;i<m;i++){//输出修改账户的用户名和密码
printf("%s %s\n",test[record[i]].username,test[record[i]].password);
}
}
return 0;
}
PAT A1035 Password
最新推荐文章于 2022-05-13 13:39:10 发布