題目八

題目八:Password

我的代碼:
#include<iostream>
#include<string>
#include<map>
using namespace std;

typedef struct {
    string id;
    string keyword;
    int mod;
}student;

int main(){
    map<char,char>m;
    m['1'] = '@',m['0'] = '%',m['l'] = 'L',m['O'] = 'o';
    int N,count = 0;
    cin>>N;
    student stu[N];
    
    for(int i = 0;i < N;i++){
        int flag = 0;
        cin>>stu[i].id>>stu[i].keyword;
        stu[i].mod = 0;
        //replace 1 (one) by @, 0 (zero) by %, l by L, and O by o
        for(int j = 0;j<stu[i].keyword.size();j++){
            if(stu[i].keyword[j] == '1' ||stu[i].keyword[j] == '0'||stu[i].keyword[j] == 'l'||
              stu[i].keyword[j] == 'O') {
                stu[i].keyword[j] = m[stu[i].keyword[j]];
                stu[i].mod = 1;
                flag = 1;
            }
        }
        if(flag) count++;
    }
    
    if(count != 0){
        cout<<count<<endl;
        for(int i = 0;i < N;i++){
            if(stu[i].mod == 1) cout<<stu[i].id<<' '<<stu[i].keyword<<endl;
        }
    }
    else {
        cout<<"There"<<' ';
        N >=2 ? cout<<"are"<<' '<<N<<' '<<"accounts" : cout<<"is"<<' '<<N<<' '<<"account";
        cout<<' '<<"and no account is modified";
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章