前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1081 检查密码 (15 分)

1081 检查密码 (15 分)

作者头像
韩旭051
发布2019-11-08 01:08:26
4840
发布2019-11-08 01:08:26
举报
文章被收录于专栏:刷题笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://cloud.tencent.com/developer/article/1535058

1081 检查密码 (15 分)

本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于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.

输入样例:

代码语言:javascript
复制
5
123s
zheshi.wodepw
1234.5678
WanMei23333
pass*word.6

输出样例:

代码语言:javascript
复制
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.

再简单的题,柳神都会写的比我简单....

先放我的代码

代码语言:javascript
复制
#include<iostream>
using namespace std;
int main(){
	int n;
	cin>>n;getchar();
	for(int i=0;i<n;i++){
		int hasnum=0;
		int hasa=0;
		int no=0;
		string s;
		
		getline(cin,s);
		if(s.length()<6){
			cout<<"Your password is tai duan le."<<endl;
			continue;
		}else{
			for(int a=0;a<(s.length());a++){
			if(s[a]>='a'&&s[a]<='z'){
				 hasa=1;
			}else if(s[a]>='A'&&s[a]<='Z'){
				 hasa=1;
			}else if(s[a]>='0'&&s[a]<='9'){
				 hasnum=1;
			}else if(s[a]=='.'){
			}
			else{
				no=1;
				//cout<<s;
				//cout<<s[a]<<endl;
			}
			
		} 
		if(no){
			printf("Your password is tai luan le.\n");
		}else if(hasnum==0){
			printf("Your password needs shu zi.\n");
		}else if(hasa==0){
			printf("Your password needs zi mu.\n");
		}else
		{
			printf("Your password is wan mei.\n");
		}
		}
		
	}
	return 0;
}

再放柳神的

(还好了其实,跟我的本质差不多,但是人家排版比较好)

代码语言:javascript
复制
#include <iostream>
#include <cctype>
using namespace std;
int main() {
    int n;
    cin >> n; getchar();
    for (int i = 0; i < n; i++) {
        string s;
        getline(cin, s);
        if (s.length() >= 6) {
            int invalid = 0, hasAlpha = 0, hasNum = 0;
            for (int j = 0; j < s.length(); j++) {
                if (s[j] != '.' && !isalnum(s[j])) invalid = 1;
                else if (isalpha(s[j])) hasAlpha = 1;
                else if (isdigit(s[j])) hasNum = 1;
            }
            if (invalid == 1) cout << "Your password is tai luan le.\n";
            else if (hasNum == 0) cout << "Your password needs shu zi.\n";
            else if (hasAlpha == 0) cout << "Your password needs zi mu.\n";
            else cout << "Your password is wan mei.\n";
        } else
            cout << "Your password is tai duan le.\n";
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1081 检查密码 (15 分)
    • 输入格式:
      • 输出格式:
        • 输入样例:
          • 输出样例:
          • 再简单的题,柳神都会写的比我简单....
            • 先放我的代码
              • 再放柳神的
                • (还好了其实,跟我的本质差不多,但是人家排版比较好)
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档