zoukankan      html  css  js  c++  java
  • C++ PAT 1081. 检查密码 (15)

    1081. 检查密码 (15)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

    本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点".",还必须既有字母也有数字。

    输入格式:

    输入第一行给出一个正整数 N(<=100),随后 N 行,每行给出一个用户设置的密码,为不超过80个字符的非空字符串,以回车结束。

    输出格式:

    对每个用户的密码,在一行中输出系统反馈信息,分以下5种:

    • 如果密码合法,输出“Your password is wan mei.”;
    • 如果密码太短,不论合法与否,都输出“Your password is tai duan le.”;
    • 如果密码长度合法,但存在不合法字符,则输出“Your password is tai luan le.”;
    • 如果密码长度合法,但只有字母没有数字,则输出“Your password needs shu zi.”;
    • 如果密码长度合法,但只有数字没有字母,则输出“Your password needs zi mu.”。
    输入样例:
    5
    123s
    zheshi.wodepw
    1234.5678
    WanMei23333
    pass*word.6
    
    输出样例:
    Your password is tai duan le.
    Your password needs shu zi.
    Your password needs zi mu.
    Your password is wan mei.
    Your password is tai luan le.

    解析:这题是简单的模拟题,一般pat乙的题目第一题都不会太复杂,需要考虑的细节也不多,下面代码也很好理解,大家可以看看。

    代码如下:

    #include<iostream>
    #include<string>
    #include<cstdio>
    using namespace std;
    int main()
    {
    	string password;
    	int n;
    	cin >> n;
    	getchar();//读取换行符。 
    	while(n--){
    		getline(cin,password);
    		int len = password.length();
    		if(len < 6)	cout<<"Your password is tai duan le."<<endl;
    		else{
    			int zimu = 0, shuzi = 0,il = 0;
    			for(int i = 0;i < len;i++)
    				if(password[i]>='0' && password[i] <= '9')	shuzi++;
    				else if(password[i]>='a' && password[i] <= 'z')	zimu++;
    				else if(password[i]>='A' && password[i] <= 'Z')	zimu++;
    				else if(password[i] == '.');
    				else il++;
    			if(il != 0 )	cout << "Your password is tai luan le." << endl;
    			else if(zimu == 0)	cout << "Your password needs zi mu." << endl;
    			else if(shuzi == 0)	cout << "Your password needs shu zi." << endl;
    			else	cout << "Your password is wan mei."<<endl;
    		}
    	}
    	return 0;
    } 

  • 相关阅读:
    yum安装工具的理解
    Linux防火墙
    Python的优雅写法
    Python的time模块
    Python中根据提供的日期,返回是一年中的第几天
    观察者模式
    数据插入INSERT
    RSA加密、解密、签名、校验签名
    js的apply和call
    js插件编程-tab框
  • 原文地址:https://www.cnblogs.com/long98/p/10352264.html
Copyright © 2011-2022 走看看