PAT 1067. 试密码(20)

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

输入格式:

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

输出格式:

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

输入样例1:

Correct%pw 3
correct%pw
[email protected]
whatisthepassword!
Correct%pw
#

输出样例1:

Wrong password: correct%pw
Wrong password: [email protected]
Wrong password: whatisthepassword!
Account locked

输入样例2:

[email protected] 3
[email protected]
[email protected]
[email protected]
try again
#

输出样例2:

Wrong password: [email protected]
Wrong password: [email protected]
Welcome in注意:输入密码应该gets,否则有测试点错误。
#include<stdio.h>
#include<string.h>
int main(){
    char a[30];
    int n;
    int m = 0;
    int k = 0;
    scanf("%s",a);
    scanf("%d",&n);
    char temp[100];
    getchar();
    while(1){
        gets(temp);
        int len = strlen(temp);
        if(len==1&&temp[0]==‘#‘){
            break;
        }
        if(strcmp(temp,a)==0){
            printf("Welcome in\n");
            break;
        }else{
            printf("Wrong password: %s\n",temp);
            m++;
            if(m==n){
                printf("Account locked\n");
                break;
            }
        }

    }
} 
时间: 2024-11-09 23:04:57

PAT 1067. 试密码(20)的相关文章

PAT 1067. 试密码

PAT 1067. 试密码 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Tab.回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保证至少有一次尝试.当读到一行只有单个#字符时,输入结束,并且这一行不是用户的输入. 输出格式: 对用户的每个输入,如

1067. 试密码(20)

1067. 试密码(20) 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Tab.回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保证至少有一次尝试.当读到一行只有单个#字符时,输入结束,并且这一行不是用户的输入. 输出格式: 对用户的每个输入,

1067 试密码

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192 题解: 1 //本题有一个坑需要注意:错误密码可以包含空格等,所以应该改用getline而不是cin进行输入 2 #include<iostream> 3 #include<string> 4 #include<cstdio> 5 using namespace std; 6 7 int main() {

3-1067. 试密码

1067. 试密码(20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Tab.回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保

PAT_B_1067_试密码

题目描述: 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过 20 的.不包含空格.Tab.回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保证至少有一次尝试.当读到一行只有单个 # 字符时,输入结束,并且这一行不是用户的输入. 输出格式: 对用户的每个输入,如果是正

PAT 1067. Sort with Swap(0,*) (25)

1067. Sort with Swap(0,*) (25) Given any permutation of the numbers {0, 1, 2,..., N-1}, it is easy to sort them in increasing order. But what if Swap(0, *) is the ONLY operation that is allowed to use? For example, to sort {4, 0, 2, 1, 3} we may appl

pat 1035 Password(20 分)

1035 Password(20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) fro

PAT甲级——1035 Password (20分)

To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) from O (o in uppercase)

PAT 1048. 数字加密(20)

本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代表12:对偶数位,用B的数字减去A的数字,若结果为负数,则再加10.这里令个位为第1位. 输入格式: 输入在一行中依次给出A和B,均为不超过100位的正整数,其间以空格分隔. 输出格式: 在一行中输出加密后的结果. 输入样例: 1234567 368782971 输出样例: 3695Q8118代码写