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里的函数很好用,一开始注释处忘记初始化了……(坑)结果自己又写了函数。