检查密码(字符串)

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

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C程序如下:

#include <stdio.h>
#include <string.h>
#include <stdbool.h> // 引入布尔值类型库// 判断字符是否为数字
bool isDigit(char c) 
{if (c >= '0' && c <= '9') {return true;} else{return false;}
}// 判断字符是否为字母  
bool isAlpha(char c) 
{  if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {  return true;  } else{  return false;  }  
}  int main(void) {  int n; // 用户输入的密码数量  scanf("%d\n", &n); // 读取用户输入的密码数量  while (n--) { // 对每个密码进行处理  char s[81]; // 存储密码的字符数组,最多80个字符加一个结束符'\0'  gets(s); // 从标准输入读取密码字符串  if (strlen(s) < 6) { // 如果密码长度小于6,则输出提示信息并跳过当前循环  printf("Your password is tai duan le.\n");  continue;  }  bool legal = true, hasAlpah = false, hasDigit = false; // 初始化判断标志位  for (int i = 0; s[i] != '\0'; i++) { // 遍历密码中的每个字符  if (isDigit(s[i])) { // 如果字符是数字,则设置hasDigit标志位为true  hasDigit = true;  } else if (isAlpha(s[i])) { // 如果字符是字母,则设置hasAlpah标志位为true  hasAlpah = true;  } else if (s[i] != '.') { // 如果字符不是小数点,则设置legal标志位为false并跳出循环  legal = false;  break;  }  }  if (!legal) { // 如果密码不合法,则输出提示信息  printf("Your password is tai luan le.\n");  } else if (!hasAlpah) { // 如果密码中没有字母,则输出提示信息  printf("Your password needs zi mu.\n");  } else if (!hasDigit) { // 如果密码中没有数字,则输出提示信息  printf("Your password needs shu zi.\n");  } else { // 如果密码合法且包含字母和数字,则输出提示信息  printf("Your password is wan mei.\n");  }  }  return 0; // 主函数返回0,表示程序正常结束  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/607732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.SPSS数据文件的建立和管理

文章目录 数据文件的特点建立SPSS数据文件步骤 数据文件的结构变量的规则 数据的录入和保存录入数据保存文件 数据的编辑数据定位 数据文件的特点 SPSS数据库文件包括文件结构和数据两部分 SPSS数据文件中的一列数据称为一个变量。每个变量都应有一个名称&#xff0c;即&…

力扣 | 509. Fibonacci

509. 斐波那契数 斐波那契数&#xff0c;通常用 F(n) 表示&#xff0c;形成的序列称为 斐波那契数列 。 该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a;F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 n …

自动计算薪资-全优学堂

功能说明 全优学堂薪资模块则根据基础薪资、历史上课情况、课程销售情况自动计算员工薪资&#xff0c;帮助您更好地进行成本管理。系统根据教职工的排班情况、课时数和提成规则&#xff0c;自动计算教职工的薪资&#xff0c;大大减轻工资管理负担。 #1. 基础薪资配置 设置本…

智能音箱喇叭底噪大的问题

智能音箱喇叭底噪大的问题 3w的喇叭&#xff0c;放大8到12倍。speaker外放模式. 播放时底噪声很大&#xff0e;可在播放时音量减到最小凑近听&#xff0c;发现在半米的范围内都能听到底噪声&#xff0e; 分析过程 引原始的pa输出线出来引功放处理后的音频信号输出线出来&…

积萨伯爵不懈追求恒久卓越,花为缘集团不断探索时尚的型格魅力

近年来&#xff0c;高端腕表凭借着卓越的制表技艺、悠久的制表历史以及不拘一格的美学特色&#xff0c;逐渐受到各大明星演员&#xff0c;时尚博主的青睐&#xff0c;成为他们出席各大重要场合&#xff0c;彰显个人品位和地位的时尚百搭单品。 积萨伯爵作为专业做培育珠宝和高…

复习python从入门到实践——函数function

复习python从入门到实践——函数function 函数是特别难的&#xff0c;大家一定要好好学、好好复习、反复巩固。函数没学好&#xff0c;会为后面造成很大困扰。 教科书中函数举例会稍微有点复杂。在此章复习中&#xff0c;我将整理出容易疏漏和混淆的知识点&#xff0c;并用最简…

Django 入门教程|Web开发|用户管理实战

简介 Django是一个主流的Python Web框架&#xff0c;用于快速开发 Web 应用程序。功能强大&#xff0c;Python Web应用开发的第一选择。 特点 ORM&#xff08;对象关系映射&#xff09;&#xff1a; Django 提供了一个强大的 ORM&#xff0c;允许开发者通过 Python 代码来定义…

LLM、AGI、多模态AI 篇四:ChatGLM3部署和应用

文章目录 系列简介部署和运行推荐硬件要求部署步骤配置Python环境下载模型文件克隆项目代码安装依赖运行Demo修改demo源代码运行Demo可执行文件应用代码调用Langchain+RAG+ChatGLM3OpenAI API 支持

塔式服务器的好处

之前我们聊过服务器可以根据外观来进行分类&#xff0c;分别有刀片式服务器、塔式服务器和机架式服务器&#xff0c;那今天我们就来了解一下塔式服务器的好处有哪些&#xff1f; 塔式服务器是我们最常见的一种服务器结构&#xff0c;整体外观是立式结构&#xff0c;占地面积小&…

Shell 专栏目录

使用 1. shell 切片参数解释 2. shell 命令替换&#xff08;将 curl 等输出的内容使用变量接收&#xff09; 3. shell 数字运算相关操作 4. shell 小数结果转为百分制&#xff0c;并去除小数部分 问题 1. shell 脚本文件换行错误

C++学习笔记(二十八):c++ 静态库及动态库的使用

静态库的使用 库的使用会很大程度减少我们的工作&#xff0c;本节对c中静态库和动态库的使用进行简单的介绍。静态链接库意味着这个库会被放到可执行文件中&#xff0c;在生成的exe中。动态链接库是在程序运行时链接的&#xff0c;可以在程序运行时调用加载库函数的方法来实现&…

linux 系统安全及应用

一、账号安全基本措施 1.系统账号清理 1.将用户设置为无法登录 /sbin/nologin shell——/sbin/nologin却比较特殊&#xff0c;所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已&#xff0c;并不是说这个账号就无法使用系统资源。举例来说&#xff0c;…

苹果电脑交互式原型设计软件Axure RP 9 mac特色介绍

Axure RP 9 for Mac是一款交互式原型设计软件&#xff0c;使用axure rp9以最佳的方式展示您的作品&#xff0c;优化现代浏览器并为现代工作流程设计。同时确保您的解决方案正确完整地构建。Axure RP 9 for Mac为您整理笔记&#xff0c;将其分配给UI元素&#xff0c;并合并屏幕注…

YOLO物体检测-系列教程6:YOLOv5源码解析1

计算机视觉 全教程 目录 物体检测 系列教程 总目录 1、基本概述 YOLOv5没有一篇对应的论文&#xff0c;是一个对v4更好的实现v5版本是一个在github更新的基于工程项目的实现基本上和v4没有差异&#xff0c;只不过在整个项目上做出了更好的实现效果主要基于github的文档介绍来…

嵌入式物联网项目开发实战例程-STM32F103系列之外围器件代码

开发STM32F103很好的参考例程&#xff0c;轻松实现各类外围器件的开发。持续更新中&#xff0c;欢迎关注及收藏。 0001基于STM32F103单片机GPIO实现控制LED灯闪烁的程序代码.zip 0002基于STM32F103单片机GPIO实现按键KEY的检测程序代码.zip 0003基于STM32F103单片机GPIO实现外部…

Visual Studio 2022 AI Code 支持

1.先在 Log In | Codeium Free AI Code Completion & Chat 上注册一个用户 在Visual Stuido 中扩展中搜索 codeium 并安装 安装完成后登录即可。 注意国内可能存在网络问题无法使用这时建议使用代理进行登录。 地址如下&#xff1a; Sign Up | Codeium Free AI Code Co…

常见子函数头简介

1、FileManager.cpp bool CFileMgrBase::travelsal(const char *filename, int flag); bool travelsal(const char *filename, int flag);- 函数功能: 遍历待处理文件夹 - 输 入: filename: 文件(夹)名字符串 - 输 入: flag : 功能键 - 返…

Linux下安装JET2

0. 说明&#xff1a; JET2是一个基于Joint Evolutionary Trees的利用序列和结构信息预测蛋白质界面的软件&#xff0c;详情见: http://www.lcqb.upmc.fr/JET2/JET2.html&#xff0c;http://www.lgm.upmc.fr/JET/JET.html 和 https://doi.org/10.1371/journal.pcbi.1004580 本…

SQL 高级面试题

1. 什么是事务 参考答案 数据库的事务&#xff08;Transaction&#xff09;是一种机制、一个操作序列&#xff0c;包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这一组数据库命令要么都执行&#xff0c;要么都不执行&am…

多模态推荐系统综述:三、多模态特征增强

三、多模态特征增强 同一对象的不同模态表示具有独特且共同的语义信息。如果能够区分独特特征和共同特征&#xff0c;那么MRS的推荐性能和泛化能力可以得到显着提高。解耦表征学习&#xff08;DRL&#xff09;和对比学习&#xff08;CL&#xff09;被用来进行基于交互的特征增…