// The question is relatively simple. You can modify the password as required by the question. If the password has been modified, You can output it if it does not exist! # Include "iostream" # include "string" # include "map" # include "vector" using namespace STD; struct info {string name; string password ;}; int main () {int N, I, j, Count, Len; bool flag; Info info [1010]; Map <char, char> m; vector <info> V; vector <info>:: iterator it; m ['1'] = '@', M ['0'] = '%', M ['l'] = 'l ', M ['O'] = 'O'; while (CIN> N & N) {COUNT = 0; V. clear (); // This statement is missing, and the vector is not cleared. Wa once, careless! For (I = 0; I <n; I ++) CIN> info [I]. name> info [I]. password; for (I = 0; I <n; I ++) {Len = info [I]. password. length (); flag = false; For (j = 0; j <Len; j ++) {If (M [info [I]. password [J]) {info [I]. password [J] = m [info [I]. password [J]; flag = true ;}} if (FLAG) {count ++; V. push_back (info [I]) ;}} if (count) {cout <count <Endl; For (IT = v. begin (); it! = V. end (); It ++) cout <(* it ). name <"" <(* it ). password <Endl;} elsecout <"no account is modified. "<Endl ;}}