要求:主函数输入密码,调用函数判断用户所设密码的有效性,密码要求:长度大于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)