湖北黄石域名注册网站建设,wordpress自定义提醒用法,企业网站建设 论文,徐州网站建设培训一、知识点
回车键的ASCII码是10
如果使用EOF#xff0c;有些用例不通过
二、题目
1、描述
密码按如下规则进行计分#xff0c;并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0…一、知识点
回车键的ASCII码是10
如果使用EOF有些用例不通过
二、题目
1、描述
密码按如下规则进行计分并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 密码里的字母全都是小大写字母 20 分: 密码里的字母符合”大小写混合“ 三、数字: 0 分: 没有数字 10 分: 1 个数字 20 分: 大于1 个数字 四、符号: 0 分: 没有符号 10 分: 1 个符号 25 分: 大于1 个符号 五、奖励只能选符合最多的那一种奖励: 2 分: 字母和数字 3 分: 字母、数字和符号
5 分: 大小写字母、数字和符号
最后的评分标准: 90: 非常安全 80: 安全Secure 70: 非常强 60: 强Strong 50: 一般Average 25: 弱Weak 0: 非常弱Very_Weak 对应输出为 VERY_SECURE SECURE VERY_STRONG STRONG AVERAGE WEAK VERY_WEAK 请根据输入的密码字符串进行安全评定。 注 字母a-z, A-Z 数字0-9 符号包含如下 (ASCII码表可以在UltraEdit的菜单view-ASCII Table查看) !#$%()*,-./ (ASCII码0x21~0x2F) :;? (ASCII码0x3A~0x40) [\]^_ (ASCII码0x5B~0x60) {|}~ (ASCII码0x7B~0x7E) 提示: 1 字符串的长度 300
2、输入
输入一个string的密码
3、输出
输出密码等级
三、自己写的代码
#includestdio.h
int main() {int c, len 0, XiaoXieZiMu 0, DaXieZiMu 0, ShuZi 0, FuHao 0, ZiMu 0,res 0;while ((c getchar()) ! 10) {len;if (a c c z) {XiaoXieZiMu;continue;}if (A c c Z) {DaXieZiMu;continue;}if (0 c c 9) {ShuZi;continue;}FuHao;}//长度if (len 8) {res 25;} else if (len 5) {res 10;} else {res 5;}//字母if (XiaoXieZiMu 0 DaXieZiMu 0) {res 20;} else if (XiaoXieZiMu 0 DaXieZiMu 0) {res 0;} else {res 10;}//数字if (ShuZi 1) {res 20;} else if (ShuZi 1) {res 10;}//符号if (FuHao 1) {res 25;} else if (FuHao 1) {res 10;}//奖励if (XiaoXieZiMu 0 || DaXieZiMu 0) {ZiMu 1;}if (XiaoXieZiMu 0 DaXieZiMu 0 ShuZi 0 FuHao 0) {res 5;} else if (ZiMu 0 ShuZi 0 FuHao 0) {res 3;} else if (ZiMu 0 ShuZi 0) {res 2;}//输出if (res 90) {printf(VERY_SECURE\n);} else if (res 80) {printf(SECURE\n);} else if (res 70) {printf(VERY_STRONG\n);} else if (res 60) {printf(STRONG\n);} else if (res 50) {printf(AVERAGE\n);} else if (res 25) {printf(WEAK\n);} else {printf(VERY_WEAK\n);}return 0;
}
四、测试