zoukankan      html  css  js  c++  java
  • PAT 1035 Password

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<queue>
    #include<vector>
    #include<cmath>
    #include<iomanip>
    #include<algorithm>
    using namespace std;
    
    struct Account
    {
    	char chUser[15];
    	char chPass[15];
    	bool isModified;
    };
    
    bool modify(char *pass)
    {
    	bool ret = false;
    	int len = strlen(pass);
    	for(int i=0; i<len; i++)
    	{
    		if(pass[i] == '1')
    		{
    			pass[i] = '@';
    			ret = true;
    		}
    		else if(pass[i] == '0')
    		{
    			pass[i] = '%';
    			ret = true;
    		}
    		else if(pass[i] == 'l')
    		{
    			pass[i] = 'L';
    			ret = true;
    		}
    		else if(pass[i] == 'O')
    		{
    			pass[i] = 'o';
    			ret = true;
    		}
    	}
    	return ret;
    }
    
    int main()
    {
    	int N,i;
    	vector<Account> v;
    	Account ac;
    	int iCount = 0;
    	cin>>N;
    	for(i=0; i<N; i++)
    	{
    		cin>>ac.chUser;
    		cin>>ac.chPass;
    		ac.isModified = modify(ac.chPass);
    		if(ac.isModified)
    			iCount++;
    		v.push_back(ac);
    	}
    	if(iCount == 0)
    	{
    		if(N == 1)
    			cout<<"There is 1 account and no account is modified"<<endl;
    		else
    			cout<<"There are "<<N<<" accounts and no account is modified"<<endl;
    	}
    	else
    	{
    		cout<<iCount<<endl;
    		for(i=0; i<v.size(); i++)
    			if(v[i].isModified)
    				cout<<v[i].chUser<<" "<<v[i].chPass<<endl;
    	}
    	return 0;
    }
    

      

    多学习,多总结。
  • 相关阅读:
    Nodejs express框架 浅析
    Nodejs 基础知识 浅析
    Angular1 基础知识 浅析(含锚点)
    canvas2D 基础知识 浅析
    1018 内置对象
    1017 内置对象
    1016 Repeater-重复器
    1014 简单控件和复合控件
    1013 认识WebForm
    0929 MDI窗体容器 权限设置
  • 原文地址:https://www.cnblogs.com/yanhaiming/p/2818966.html
Copyright © 2011-2022 走看看