估计是pat里最水的水题了,只要将对应的字母更换即可。
AC代码:
//1035 15:50 - 16:16
#include<stdio.h>
#include<string.h>
const int MAXN=1005;
struct account
{
char name[14];
char pass[14];
int mod;
}a[MAXN];
int main()
{
int n,i;
//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);
scanf("%d",&n);
for(i=0;i<n;i++){
getchar();
scanf("%s%s",a[i].name,a[i].pass);
a[i].mod=0;
}
int cnt=0,j;
if(n==1)
printf("There is 1 account and no account is modified");
else {
for(i=0;i<n;i++){
int len=strlen(a[i].pass);
a[i].mod=0;
for(j=0;j<len;j++){
if(a[i].pass[j]=='1'){
a[i].mod=1;
a[i].pass[j]='@';
continue;
}
if(a[i].pass[j]=='0'){
a[i].mod=1;
a[i].pass[j]='%';
continue;
}
if(a[i].pass[j]=='l'){
a[i].mod=1;
a[i].pass[j]='L';
continue;
}
if(a[i].pass[j]=='O'){
a[i].mod=1;
a[i].pass[j]='o';
continue;
}
}
if(a[i].mod==1)
cnt++;
}
if(cnt==0)
printf("There are %d accounts and no account is modified\n",n);
else {
printf("%d\n",cnt);
for(i=0;i<n;i++){
if(a[i].mod==1){
printf("%s %s\n",a[i].name,a[i].pass);
}
}
}
}
return 0;
}