zoukankan      html  css  js  c++  java
  • PAT 乙级 1067 试密码(20 分)

    1067 试密码(20 分)

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

    输入格式:

    输入在第一行给出一个密码(长度不超过 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

    注意:题目中给的正确密码不含有空字符,但是自己输入的可能含有空字符,所以必须要用getline去读取自己的输入,但是在第一行数据输入语句后面加上getchar(),以去除回车符,不然后续的getline输入会出错


     1 #include<iostream>
     2 #include<string>
     3 
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     string temp, rightCode;
     9     int N, i;
    10 
    11     cin >> rightCode >> N;
    12     cin.get();
    13 
    14     for (i = 0; i<N; ++i)
    15     {
    16         getline(cin,temp);
    17 
    18         if (temp == "#")
    19             break;
    20 
    21         if (temp == rightCode)
    22         {
    23             cout << "Welcome in" << endl;
    24             break;
    25         }
    26         else
    27             cout << "Wrong password: " << temp << endl;
    28 
    29     }
    30 
    31     if (i == N)
    32         cout << "Account locked" << endl;
    33 
    34     return 0;
    35 }
     
  • 相关阅读:
    vmware图形化安装kali iso镜像文件启动后黑屏问题解决方法
    8818驱动蓝屏报错解决方法
    v3ray提示已经在运行的错误
    逆向工程之安卓逆向- --- p命名法中插入一个新寄存器
    硬件黑客之无线电 --- Proxmark3 RDV4 套件
    硬件黑客之无线电 --- Plunder Bug LAN Tap
    硬件黑客之局域网安全 --- 鲨鱼杰克
    硬件黑客之无线电 --- Proxmark3 RDV4 套件
    硬件黑客之无线电 --- NFC Kill
    硬件黑客之无线电 --- 双频 WiFi RTL8812AU
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/9424471.html
Copyright © 2011-2022 走看看