• PAT


    当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。

    输入格式:

    输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一行只有单个 # 字符时,输入结束,并且这一行不是用户的输入。

    输出格式:

    对用户的每个输入,如果是正确的密码且尝试次数不超过 N,则在一行中输出 Welcome in,并结束程序;如果是错误的,则在一行中按格式输出 Wrong password: 用户输入的错误密码;当错误尝试达到 N 次时,再输出一行 Account locked,并结束程序。

    输入样例 1:

    Correct%pw 3
    correct%pw
    Correct@PW
    whatisthepassword!
    Correct%pw
    #
    

    输出样例 1:

    Wrong password: correct%pw
    Wrong password: Correct@PW
    Wrong password: whatisthepassword!
    Account locked
    

    输入样例 2:

    cool@gplt 3
    coolman@gplt
    coollady@gplt
    cool@gplt
    try again
    #
    

    输出样例 2:

    Wrong password: coolman@gplt
    Wrong password: coollady@gplt
    Welcome in

    题解:水题,模拟即可,需要注意的是acount locked需要直接在wrong answer直接输出;其他基本无坑点

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    #include<vector>
    
    using namespace std;
    
    int main()
    {
        string s,ss;
        int n;
        cin>>s;
        cin>>n;
        
    	vector<string>G;
    	getchar();
    	int cnt=0;
    	while(1)
    	{
            getline(cin,ss);
    		if(ss=="#")
    		break;
    		//if(ss=="#
    ")
    		//break;
    		cnt++;
    		if(s!=ss&&cnt<=n)
    		{
    			cout<<"Wrong password: "<<ss<<endl;
    		
    		if(cnt==n)
    		{
    			cout<<"Account locked"<<endl;
    			break;
    		}
    	    }
    		if(s==ss&&cnt<=n)
    		{
    			cout<<"Welcome in"<<endl;
    			break;
    		}
    	
    		
    	}
    	
    	return 0;
    } 
  • 相关阅读:
    Windows 下安装 Python + Django
    asp.net core 一个中小型项目实战的起手式——Swagger配置
    asp.net core 一个中小型项目实战的起手式——项目搭建与仓储模式下的持久层创建(1)
    c#一些常用知识点
    ADO.NET中的5个主要对象
    JavaScript的闭包特性如何给循环中的对象添加事件(一)
    在什么情况下会用到虚方法?它与接口有什么不同?
    一般处理程序Session
    什么是code-Behind技术?
    什么是事务?
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10782086.html
Copyright © 2020-2023  润新知