编写函数判断密码的有效性
迪丽瓦拉
2024-03-20 17:12:40
0

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

相关内容