coder-strike 2014 A Password Check 题目链接:http://codeforces.com/contest/411/problem/A
题目大意:注册时经常碰到密码强度检测,不过就不给提交,这里模拟一下。
规则如下:
1、密码长度不小于5 2、要包含至少一个大写字母 3、要包含至少一个小写字母 3、要包含至少一个数字
题目分析:直接模拟即可,纯水无坑。
code:
#include<cstdio> #include<cstring> bool isdigit(int n) { return n>47&&n<58; } bool isupper(int n) { return n>64&&n<91; } bool islower(int n) { return n>96&&n<123; } int main() { int i,j,flag=0; bool hasL,hasS,hasD; char s[110]; scanf("%s",s); hasL=hasS=hasD=false;//初始化 if(strlen(s)<5) { printf("Too weak\n"); return 0; } for(i=0;i<strlen(s)&&flag!=3;i++) { if(!hasD&&isdigit(s[i])) { hasD=true; flag++; } if(!hasL&&isupper(s[i])) { hasL=true; flag++; } if(!hasS&&islower(s[i])) { hasS=true; flag++; } } if(flag==3)printf("Correct\n"); else printf("Too weak\n"); return 0; }
PS:ctype里的函数很好用,一开始注释处忘记初始化了……(坑)结果自己又写了函数。