这一题需要注意的是:
There is 1 account and no account is modified
There are n account and no account is modifiedis 和 are 需要分开处理。
=======================================================================================
Java :
import java.util.Scanner;
public class Main {
public static void main(String[] arg){
Scanner sc =new Scanner (System.in);
int n =Integer.valueOf(sc.nextLine().trim());
String name ,password,line;
char[] arr ;
int count =0;
String[] result =new String[n];
for(int i =0;i<n ;i++){
line = sc.nextLine().trim();
name = line.split(" ")[0];
password = line.split(" ")[1];
arr =password.toCharArray();
boolean changed= false;
password="";
for(int k=0;k<arr.length;k++){
if(arr[k]=='0'){
arr[k]='%';
changed=true;
}
else if(arr[k]=='1'){
arr[k]='@';
changed=true;
}
else if(arr[k]=='l'){
arr[k]='L';
changed=true;
}
else if(arr[k]=='O'){
arr[k]='o';
changed=true;
}
password += arr[k];
}
if(changed){
result[count]=name+" "+password;
count++;
}
}
if(count==0){
if(n==1){
System.out.println("There is 1 account and no account is modified");
}
else{
System.out.println("There are "+n+" accounts and no account is modified");
}
}
else{
System.out.println(count);
for(int i=0;i<count;i++){
System.out.println(result[i]);
}
}
}
}
C++: