当前位置: 首页 > article >正文

GESP2023年6月认证C++三级( 第三部分编程题(2、密码合规检测))

一、 故事背景守护密码之门在魔法学院门口有一扇超级智能大门。它会检查每个进入的人的密码‍♂️“只有符合规则的密码才能进去”否则❌ “不合格禁止进入”二、 密码规则大门的要求每个密码必须满足 规则1字符合法只能包含✔ 小写字母 a~z✔ 大写字母 A~Z✔ 数字 0~9✔ 特殊字符! # $❌ 其他字符比如 ^、直接淘汰 规则2长度限制6 ≤ 长度 ≤ 12太短 ❌太长 ❌ 规则3种类要求必须满足 至少有两种类型大写字母小写字母数字 并且必须有至少一个特殊字符!#$ 输入长什么样输入是一整行abc123!,HELLO12$,bad^pwd,Ok1! 用逗号分隔多个密码我们要一个一个检查三、️ 解题思路 第一步把字符串“切开”像切香肠一样遇到 , 就分成一个密码 第二步检查每个密码我们写一个“守卫函数”bool check(char *str, int len) 第三步逐个字符分析就像安检一样if (A c Z) → 大写 if (a c z) → 小写 if (0 c 9) → 数字 if c 是 !#$ → 特殊字符 否则 ❌ 不合法 第四步记录“身份”我们用4个开关hasC // 大写 hasL // 小写 hasD // 数字 hasS // 特殊字符 第五步最终判断必须 ✔ 有特殊字符 ✔ 至少两种大写/小写/数字 ✔ 长度合法 ✔ 没有非法字符四、 参考代码#include iostream using namespace std; char line[101]; char pwd[101]; // 检查密码是否合法 bool check(char *str, int l) { if (l 6 || l 12) return false; bool hasC false, hasL false, hasD false, hasS false; for (int i 0; str[i] ! \0; i) { if (A str[i] str[i] Z) { hasC true; } else if (a str[i] str[i] z) { hasL true; } else if (0 str[i] str[i] 9) { hasD true; } else if (str[i] ! || str[i] || str[i] # || str[i] $) { hasS true; } else { return false; // 出现非法字符 } } if (!hasS) return false; if (hasC hasL hasD 2) return false; return true; } int main() { cin line; int len 0; for (int i 0; line[i] ! \0; i) { if (line[i] ! ,) { pwd[len] line[i]; } else { pwd[len] \0; if (check(pwd, len)) cout pwd endl; len 0; } } // 最后一个密码 if (len 0) { pwd[len] \0; if (check(pwd, len)) cout pwd endl; } return 0; }五、 举例加深理解1、输入seHJ12!,sjdkffH$123,sdf!12HDHa!,123^YUhg!2、分析密码结果seHJ12!✔ 合法sjdkffH$123✔ 合法sdf!12HDHa!❌ 太长123^YUhg!❌ 有非法字符 ^3、输出seHJ12! sjdkffH$123六、 知识点总结✨ 字符串拆分逗号分割✨ 字符分类判断✨ 多条件验证✨ 函数封装✨ 模拟真实系统

相关文章:

GESP2023年6月认证C++三级( 第三部分编程题(2、密码合规检测))

一、🔐 故事背景:守护密码之门!在魔法学院门口,有一扇超级智能大门🚪。它会检查每个进入的人的密码:👮‍♂️“只有符合规则的密码,才能进去!”否则:❌ “不合…...

GESP2023年6月认证C++三级( 第三部分编程题(1、春游))

一、🎒 故事背景:春游点名危机!👩‍🏫老师带着同学们去春游啦!班上有 n 个同学,每个人都有一个编号:0, 1, 2, 3, ..., n-1到了集合时间,老师开始点名!但是………...

文墨共鸣大模型企业级部署架构:高可用与内网穿透访问方案

文墨共鸣大模型企业级部署架构:高可用与内网穿透访问方案 最近和几个做企业服务的朋友聊天,他们都在头疼同一个问题:好不容易把大模型部署到内网了,性能也调优了,但怎么让外部的合作伙伴或者移动端的应用安全地访问呢…...

深度学习中的Dropout正则化技术与Keras实践

1. 理解Dropout正则化的核心价值在深度学习模型训练过程中,过拟合就像一位记忆力超强却缺乏理解力的学生——它能完美复述训练数据中的每个细节,却无法应对新问题的变化。2012年由Hinton团队提出的Dropout技术,通过随机"关闭"神经网…...

【MCP 2026低代码集成权威指南】:20年架构师亲授5步落地法,错过再等三年!

更多请点击: https://intelliparadigm.com 第一章:MCP 2026低代码集成战略定位与价值锚点 MCP 2026(Model-Centric Platform 2026)代表新一代以模型驱动为核心的低代码集成平台范式,其战略定位并非替代专业开发&#…...

grdpwasm:基于Go WebAssembly的Web RDP客户端,无需插件直连Windows远程桌面!

导航菜单可进行切换导航、登录、外观设置等操作。平台方面,有AI代码创作,如GitHub Copilot可借助AI编写更优质代码,GitHub Spark能构建并部署智能应用等;开发者工作流包括Actions自动化工作流、Codespaces即时开发环境等&#xff…...

别再乱用JSON存数据了!聊聊Python里更省心的pickle(.pkl)文件,附Pandas和PyTorch实战

Python数据持久化实战:为什么pickle比JSON更值得选择? 当你需要在Python中保存一个嵌套字典、自定义类实例或是Pandas DataFrame时,第一反应可能是用JSON——毕竟它简单通用。但每次遇到datetime对象或自定义类时,JSON的局限性就会…...

小型语言模型(SLM)实战:高效部署与成本优化指南

1. 小型语言模型(SLM)入门指南:2026年实战手册在AI技术快速迭代的今天,大型语言模型(LLM)虽然频频登上头条,但真正改变行业游戏规则的却是那些能在本地设备上运行的小型语言模型(SLM…...

Arcana:Elixir原生嵌入式RAG库,一体化智能检索与生成方案

1. 项目概述:一个为Elixir生态量身打造的嵌入式RAG库如果你正在用Elixir和Phoenix构建应用,并且想为它加上一个智能的“知识大脑”,让应用能理解、检索并回答用户基于你私有数据的问题,那么Arcana就是你一直在找的那个工具。它不是…...

画图工具推荐:绘制架构图、流程图

画图工具推荐:绘制架构图、流程图在数字化协作时代,绘制清晰的架构图和流程图是程序员、产品经理和设计师的必备技能。无论是梳理系统逻辑、规划业务流程,还是向团队传递设计思路,一款高效的工具能事半功倍。本文将推荐几款实用工…...

《Windows Internals》10.2.12 学习笔记:交互式服务与 Session 0 隔离——为什么现代 Windows 服务不能再直接弹窗到桌面?

🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...

Dockerfile系列(二) 镜像分层与缓存-为什么你的构建这么慢

镜像分层与缓存:为什么你的构建这么慢?本文基于 Docker 24.x,理解分层机制是写出高效 Dockerfile 的关键。场景引入:改一行代码,构建五分钟? 上篇咱们写了个能跑的 Dockerfile,但用着用着发现问…...

《Windows Internals》10.2.11 学习笔记:虚拟服务账户(The Virtual Service Account)——为什么 Windows 服务不再只依赖普通账号?

🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...

低算力适配!面向采摘机器人的改进 YOLOv8 实现遮挡花椒精准识别

点击蓝字关注我们关注并星标从此不迷路计算机视觉研究院公众号ID|计算机视觉研究院学习群|扫码在主页获取加入方式https://pmc.ncbi.nlm.nih.gov/articles/PMC12894851/pdf/41598_2026_Article_36671.pdf计算机视觉研究院专栏Column of Computer Vision …...

C++ 类设计实践(一):自定义 String 类与顺序栈

引言在学完 C 的类、构造函数、析构函数、拷贝控制、运算符重载、模板等核心知识后,动手设计一个完整的类是最好的巩固方式。今天,我将通过两个实践项目来检验这些知识的掌握程度:自定义 String 类:模拟标准库 std::string 的核心…...

Python自动化仿真终极指南:用MPh脚本化你的COMSOL多物理场工作流

Python自动化仿真终极指南:用MPh脚本化你的COMSOL多物理场工作流 【免费下载链接】MPh Pythonic scripting interface for Comsol Multiphysics 项目地址: https://gitcode.com/gh_mirrors/mp/MPh 还在为重复的COMSOL仿真操作感到疲惫吗?&#x1…...

终极指南:Agent创业机会,从垂直领域切入

终极指南:Agent创业机会,从垂直领域切入 引言 痛点引入:AI Agent浪潮下,普通创业者/技术人该怎么抢滩? 过去两年的AI技术发展,完全是“天翻地覆”级别的——ChatGPT的诞生把通用大语言模型(LLM&…...

基于LangGraph与多智能体协作的AI内容生成系统实战解析

1. 项目概述:一个基于多智能体协作的AI内容生成系统如果你也像我一样,经常被各种报告、方案、甚至小说创作的需求搞得焦头烂额,那么今天分享的这个项目,可能会成为你的“生产力倍增器”。我最近深度体验并拆解了一个名为“XunLong…...

LinkSwift网盘直链下载助手:免费解锁八大网盘高速下载的终极指南

LinkSwift网盘直链下载助手:免费解锁八大网盘高速下载的终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…...

Amlogic S9xxx Armbian历史版本获取指南:解决新内核不兼容的实战方案

Amlogic S9xxx Armbian历史版本获取指南:解决新内核不兼容的实战方案 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s…...

3分钟掌握RPG Maker解密工具:轻松提取游戏资源

3分钟掌握RPG Maker解密工具:轻松提取游戏资源 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMaker…...

5分钟快速上手StarRailCopilot:崩坏星穹铁道智能自动化助手

5分钟快速上手StarRailCopilot:崩坏星穹铁道智能自动化助手 【免费下载链接】StarRailCopilot 崩坏:星穹铁道脚本 | Honkai: Star Rail auto bot (简体中文/繁體中文/English/Espaol) 项目地址: https://gitcode.com/gh_mirrors/st/StarRailCopilot …...

我从前熬夜整理会议纪要熬到头秃,后悔没早用!2026自动生成会议纪要真的太香了

上个月刚经历完因为会议纪要出错扣半个月绩效的社死现场,作为每周要泡在四五个会里的内容创作者,我前两年光是整理会议、访谈录音,每周就能耗掉我10小时以上,熬到发缝变宽都没解决问题。测了不下10款自动纪要工具,我可…...

如何在现代显示器上完美体验《植物大战僵尸》?PvZWidescreen宽屏模组彻底告别黑边困扰

如何在现代显示器上完美体验《植物大战僵尸》?PvZWidescreen宽屏模组彻底告别黑边困扰 【免费下载链接】PvZWidescreen Widescreen mod for Plants vs Zombies 项目地址: https://gitcode.com/gh_mirrors/pv/PvZWidescreen 还在为经典游戏《植物大战僵尸》在…...

Rust 所有权系统:借用检查器与生命周期

# Rust异步编程:Tokio运行时深度解析> **版本说明**:本文基于 Tokio 1.x 版本和 Rust 1.75 编写,所有代码示例均经过测试验证。## 📚 引言异步编程是现代高性能服务的基石,而 Tokio 作为 Rust 生态中最成熟的异步运…...

别再只用来校验文件了!聊聊哈希值在Python、Java和数据库里的5个实战骚操作

哈希值的五大高阶应用:从数据去重到分布式系统的实战技巧 开发者在日常工作中经常使用哈希值进行简单的数据校验,但它的潜力远不止于此。当我们将哈希算法与特定编程语言特性、数据库优化和系统设计相结合时,能解锁许多令人惊喜的高级用法。…...

NVIDIA Grace CPU架构解析与数据中心能效优化实践

1. NVIDIA Grace CPU家族:数据中心效率革命的核心引擎当全球数据量以每年23%的速度增长,传统CPU架构却陷入性能提升瓶颈时,数据中心的能效比成为决定未来计算能力的关键指标。作为从业十五年的数据中心架构师,我见证过无数次硬件迭…...

SpringBoot配置文件加密进阶:手把手教你自定义Jasypt加密算法和前缀后缀(告别默认ENC)

SpringBoot配置文件加密进阶:手把手教你自定义Jasypt加密算法和前缀后缀(告别默认ENC) 在企业级应用开发中,配置文件的安全性往往被忽视,尤其是数据库连接信息、API密钥等敏感数据。虽然Jasypt提供了开箱即用的ENC()加…...

Edgi-Talk开发套件:边缘AI全栈解决方案解析

1. Edgi-Talk开发套件核心解析这款由英飞凌和RT-Thread联合设计的开发板,本质上是一个面向边缘AI场景的全栈解决方案。PSOC Edge E84 SoC的双核架构设计非常有意思——400MHz的Cortex-M55主攻AI运算,搭配200MHz的Cortex-M33处理常规任务,这种…...

如何自动同步SQL异构表数据_利用触发器实现实时数据复制

不能,触发器仅支持同库同结构表的同步;跨库或异构场景需用binlogDebeziumKafka自定义消费者方案。触发器能自动同步异构表吗?不能,别硬套触发器本身不解决异构问题——它只在同库同结构的表上可靠运行。INSERT、UPDATE、DELETE 触…...