HJ87密码等级

devtools/2024/10/22 10:36:04/

这个题目就是细心处理一下就行,比较简单

#include <ctype.h>
#include <stdio.h>
#include <stdbool.h>void PrintLevel(unsigned int score)
{if(score >= 90){printf("VERY_SECURE");}else if(score >= 80){printf("SECURE");}else if(score >= 70){printf("VERY_STRONG");}else if(score >= 60){printf("STRONG");}else if(score >= 50){printf("AVERAGE");}else if(score >= 25){printf("WEAK");}else if(score >= 0){printf("VERY_WEAK");}
}int GetScoreByStrlen(int *score, unsigned int len)
{if(len <= 4){*score = 5;}else if(len <= 7){*score = 10;}else {*score = 25;}return 0;
}int GetScoreByCharacter(int *score, char* array, int len)
{bool withAlphaFlag = false;bool alphaWithLowerFlag = false;bool alphaWithUpperFlag = false;bool withDigitFlag = false;int digitCount = 0;bool withCharacterFlag = false;int characterCount = 0;for(int i = 0; i < len; i++){if(isalpha(array[i])){withAlphaFlag = true;if(array[i] >= 'a' && array[i] <= 'z'){alphaWithLowerFlag = true;}if(array[i] >= 'A' && array[i] <= 'Z'){alphaWithUpperFlag = true;}}else if(isdigit(array[i])){withDigitFlag = true;digitCount++;}else {withCharacterFlag = true;characterCount++;}}int alphaScore = 0;if(!withAlphaFlag){alphaScore = 0;}else {if(alphaWithLowerFlag && alphaWithUpperFlag){alphaScore = 20;}else {alphaScore = 10;}}*score += alphaScore;int digitScore = 0;if(!withDigitFlag){digitScore = 0;}else {if(digitCount == 1){digitScore = 10;}else {digitScore = 20;}}*score += digitScore;int characterScore = 0;if(!withCharacterFlag){characterScore = 0;}else {if(characterCount == 1){characterScore = 10;}else {characterScore = 25;}}*score += characterScore;int specialScore = 0;if(alphaWithLowerFlag && alphaWithUpperFlag && withDigitFlag && withCharacterFlag){specialScore = 5;}else if(withAlphaFlag && withDigitFlag && withCharacterFlag){specialScore = 3;}else if(withAlphaFlag && withDigitFlag){specialScore = 2;}*score += specialScore;return 0;
}int main() {char strArray[301] = {'\0'};while (scanf("%s",strArray) != EOF) { // 注意 while 处理多个 case// 64 位输出请用 printf("%lld") to int score = 0;int len = strlen(strArray);GetScoreByStrlen(&score, len);GetScoreByCharacter(&score, strArray, len);PrintLevel(score);}return 0;
}

http://www.ppmy.cn/devtools/87647.html

相关文章

VB中的LINQ(Language Integrated Query)的定义及其用法

在VB&#xff08;Visual Basic&#xff09;中&#xff0c;LINQ&#xff08;Language Integrated Query&#xff09;是一个强大的查询功能&#xff0c;它允许你以声明性的方式查询和操作多种类型的数据源&#xff0c;包括数组、集合、XML 文档、数据库等。LINQ 提供了统一的查询…

传统自然语言处理(NLP)与大规模语言模型(LLM)详解

自然语言处理&#xff08;NLP&#xff09;和大规模语言模型&#xff08;LLM&#xff09;是理解和生成人类语言的两种主要方法。本文将介绍传统NLP和LLM的介绍、运行步骤以及它们之间的比较&#xff0c;帮助新手了解这两个领域的基础知识。 传统自然语言处理&#xff08;NLP&…

浦东五大环保装修公司推荐:为您打造理想家居

在浦东&#xff0c;想要找到一家既环保又能满足您对理想家居所有期待的装修公司并非易事。但别担心&#xff0c;以下为您推荐五家出色的环保装修公司。 1.即住空间装饰 即住空间装饰&#xff0c;高效省心精工是其突出特点&#xff0c;同时他们坚定践行“高品质不等于高价格&a…

Python 爬虫入门(一):从零开始学爬虫 「详细介绍」

Python 爬虫入门&#xff08;一&#xff09;&#xff1a;从零开始学爬虫 「详细介绍」 前言1.爬虫概念1.1 什么是爬虫&#xff1f;1.2 爬虫的工作原理 2. HTTP 简述2.1 什么是 HTTP&#xff1f;2.2 HTTP 请求2.3 HTTP 响应2.4 常见的 HTTP 方法 3. 网页的组成3.1 HTML3.2 CSS3.…

3D魔方游戏制作lua迷你世界

--3D魔方 --星空露珠工作室 --核心脚本来自负负 --1:xy 2:yx 3:xz 4:zx 5:yz 6:zy --4000,0-3 3995-0,3 local trn{ {{5,2},{3,1},{1,2},{1,3},{4,0},{2,2}}, {{3,0},{5,3},{1,3},{1,2},{2,3},{4,1}}, {{4,2},{2,1},{1,1},{1,0},{3,3},{5,1}}, {{2,0},{4,3},{1,0},{1,1},{5,0},…

Java对象头

Java对象头 对象头结构对象头和JVM的思考 对象头结构 Java对象的对象头主要由两部分组成&#xff1a; Mark Word&#xff1a;用于存储对象的运行时数据&#xff0c;包括哈希码、GC年龄、锁状态等。Class Metadata Address&#xff1a;指向对象的类元数据的指针&#xff0c;JV…

[护网杯 2018]easy_tornado1

打开题目 看到三个txt文件&#xff0c;分别打开这三个文件 flag在flllllllag里面 这里给出了一个加密方式&#xff0c;结合url中的filehash&#xff0c;可知要获取flag需要先获取cookie_secret&#xff0c;并将其与/fllllllllllllag组合加密输入到filehash中。猜测是tornado模…

springboot民办高校科研项目管理系统-计算机毕业设计源码54009

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…