入門模擬—字符串處理—A1035


思路:
此題比較容易,只需要根據題目要就對字符進行替換即可

#include<iostream>
using namespace std;
struct User
{
    string name,psw;
    bool ischange;
}u[1005];
int main()
{
    int k;
    int cnt = 0;
    cin>>k;
    for(int i=0;i<k;i++)
    {
        cin>>u[i].name>>u[i].psw;
        u[i].ischange = false;
        int n = u[i].psw.size();
        for(int j=0;j<n;j++)//對字符進行替換 
        {
            if(u[i].psw[j] == '1')
            {
                u[i].psw[j] = '@';
                u[i].ischange = true;
            }
            else if(u[i].psw[j] == '0')
            {
                u[i].psw[j] = '%';
                u[i].ischange = true;
            }
            else if(u[i].psw[j] == 'l')
            {
                u[i].psw[j] = 'L';
                u[i].ischange = true;
            }
            else if(u[i].psw[j] == 'O')
            {
                u[i].psw[j] = 'o';
                u[i].ischange = true;
            }
        }
        if(u[i].ischange)//計算有多少賬戶密碼被修改 
            cnt++;
    }
    if(cnt == 0)
    {
        if(k == 1)
            cout<<"There is 1 account and no account is modified"<<endl;
        else
            cout<<"There are "<<k<<" accounts and no account is modified"<<endl;
    }
    else
    {
        cout<<cnt<<endl;
        for(int i=0;i<k;i++)
        {
            if(u[i].ischange)
                cout<<u[i].name<<" "<<u[i].psw<<endl;
        }
    }
    return 0;
} 

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com