【刷题】Day4--密码检查

Hi! 今日刷题,小白一枚,欢迎指导 ~

【链接】

密码检查_牛客题霸_牛客网

【思路】

依次根据规则判断密码是否合格。while里嵌套个for循环,来进行密码的多组输入,for循环进行一次代表判断一个密码串;规则判断一条条来,但凡不符合一个直接输出NO。首先不能以数字开头,此处利用ASCII值进行判断;接着利用strlen函数来计算密码串的长度;再是仅由至少大写字母,小写字母和数字中的两种组成,挨个字符进行判断,用变量加以标记。悟:不要满足这个条件就给个YES,应该是以不满足条件给NO为主,直到最后给YES。

【上代码】

cpp 复制代码
#include <stdio.h>
#include<string.h>
int main() 
{
    int n=0,dight=0,big=0,small=0,other=0;
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
        {
            char arr[101]={0};
            scanf("%s",arr);
            //不能以数字开头
            if(arr[0]>='0'&&arr[0]<='9')
            {
                printf("NO\n");
                continue;
            }
            //密码长度至少为8
            if(strlen(arr)<8)
            {
                printf("NO\n");
                continue;
            }
            //大写,小写,数字组成
            for(int i=0;arr[i]!='\0';i++)
            {
                if(arr[i]>='\0'&&arr[i]<='9')
                    dight++;//数字
                else if(arr[i]>='A'&&arr[i]<='Z')
                    big++;//大写
                else if(arr[i]>='a'&&arr[i]<='z')
                    small++;//小写
                else 
                    other++;
            }
            if(other!=0)
                {
                    printf("NO\n");
                    continue;
                }
            if(((dight>0)+(small>0)+(big>0))<2)
            {
                printf("NO\n");
                continue;
            }
            printf("YES\n");
        }
    }
    return 0;
}

路漫漫其修远兮,每天进步一点点!


分享一首歌

------------------------------------《让我为你唱一首歌》------------------------------------

让我为你唱首歌(电视剧《一起来看流星雨》插曲) - 张翰/朱梓骁/魏晨/俞灏明 - 单曲 - 网易云音乐

至此结束!

我是云边有个稻草人

期待与你的下一次相遇------

相关推荐
程序员老陆2 分钟前
Qt::WidgetAttribute 常用属性详解
开发语言·qt
依然鸣4 分钟前
PTA团体程序设计天梯赛L2真题讲解L2-001-004
经验分享·学习·算法·深度优先·pat考试
一米阳光86614 分钟前
软考(中级)软件设计师核心笔记(8)数据结构——图
数据结构·笔记·职场发展·软考·软件设计师·中级职称
杨航 AI2 小时前
** AI 面试算法 50 题清单**,不是单纯的 LeetCode 题号列表,而是按照“**考察概率 × 面试价值 × 你当前准备方向**”排序
算法·leetcode·面试
特立独行的猫a2 小时前
Windows安装Rust环境 Clang替代GCC MinGW环境LLVM工具链(详细教程)
开发语言·windows·rust·mingw·环境搭建·llvm
m0_720245018 小时前
1543.统计好三元组(简单)
开发语言·算法
To_OC8 小时前
LC 560 和为 K 的子数组:前缀和配哈希表,这对组合我是真的服了
javascript·算法·程序员
XGeFei9 小时前
【AI应用/Agent智能体搭建平台2】Dify——自部署
人工智能·笔记·学习
hans汉斯9 小时前
《软件工程与应用》期刊推荐&10月版面征稿中
图像处理·人工智能·深度学习·算法·音视频·软件工程
叠层归一研究院9 小时前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi