要求:主函数输入密码,调用函数判断用户所设密码的有效性,密码要求:长度大于6,有字母、数字,及特殊字符,在主函数中输出判断结果,符合要求则输出"pass",否则输出"fail"
【样例输入】
test123*
【样例输出】
pass
主函数:
#include
int pws(char s[]);
int main() {
char str[50];
int n;
gets(str);
n = pws(str);
if (n==1) {
printf("pass");
}
else {
printf("fail");
}
return 0;
}
int pws(char s[ ]);
- int pws(char s[]) {
- int flag1 = 0, flag2 = 0, flag3 = 0, flag = 0;
- for (int i = 0; s[i] != '\0'; i++) {
- if (s[i] >= '0' && s[i] <= '9') {
- flag1++; //判断是否含有数字
- }
- else if((s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z')) {
- flag2++; //判断是否含有字母
- }
- else if((s[i] >= '!' && s[i] <= '/') || (s[i] >= ':' && s[i] <= '@')) {
- flag3++; //判断是否含有特殊字符
- }
- else if((s[i] >= '[' && s[i] <= '`') || (s[i] >= '{' && s[i] <= '~')) {
- flag3++; //判断是否含有特殊字符
- }
- }
- if (flag1 && flag2 && flag3) {
- flag = 1;
- }
- else {
- flag = 0;
- }
- return (flag);
- }
- //题中主函数未给出
库,因此不使用函数strlen(s)