c++编写函数,检测字符串是否是有效密码,密码规则:至少八位,仅包含数字和字母,至少包含两位数字,字母分为大写和小写。编写测试程序,提示用户输入密码
时间: 2023-06-08 10:07:13 浏览: 76
验证密码C++代码
好的,我可以帮您编写一个检测密码是否符合规则的函数。以下是代码示例:
```
#include <stdio.h>
#include <ctype.h>
int check_password(char *password) {
int i, len, num_count = 0, upper_count = 0, lower_count = 0;
len = strlen(password);
if (len < 8) {
return 0; // 密码长度小于8位,不符合规则,返回0
}
for (i = 0; i < len; i++) {
if (isdigit(password[i])) {
num_count++;
} else if (isupper(password[i])) {
upper_count++;
} else if (islower(password[i])) {
lower_count++;
} else {
return 0; // 含有非数字非字母的字符,不符合规则,返回0
}
}
// 检测字母和数字的数量是否符合要求
if (num_count < 2 || upper_count < 1 || lower_count < 1) {
return 0; // 不符合要求,返回0
}
return 1; // 符合要求,返回1
}
int main() {
char password[50];
printf("请输入密码:");
scanf("%s", password);
if (check_password(password)) {
printf("密码符合规则。\n");
} else {
printf("密码不符合规则。\n");
}
return 0;
}
```
您可以将上述代码保存为一个 .c 文件,然后使用 GCC 等工具进行编译并运行,即可测试输入的密码是否符合规则。
阅读全文