设计一个程序,对用户输入的密码进行检测。密码规则为:①长度在 6 至 12
个字符之间(6≦n≦12);②要同时包含大写字母、小写字母、数字与特殊符
号四种字符;③特殊符号为:@,#,$。若用户密码符合要求,则提示密码设置
成功,否则提示密码不符合要求,请重新输入。
设计一个程序,对用户输入的密码进行检测。密码规则为:①长度在 6 至 12
个字符之间(6≦n≦12);②要同时包含大写字母、小写字母、数字与特殊符
号四种字符;③特殊符号为:@,#,$。若用户密码符合要求,则提示密码设置
成功,否则提示密码不符合要求,请重新输入。
代码如下:如有帮助,请采纳一下,谢谢。
#include <stdio.h>
#include <string.h>
int main()
{
char buf[100] = {0};
int i,len;
int A,a,nmb,zf;
while(1)
{
A =0,a =0,nmb=0,zf=0;
printf("请输入密码:");
gets(buf);
len = strlen(buf);
if (len < 6 || len > 12)
{
printf("字符长度需要再6-12个字符之间\n");
continue;
}else
{
for (i = 0; i< len;i++)
{
if(buf[i]>='a' && buf[i]<= 'z')
a++;
else if(buf[i]>='A' && buf[i]<= 'Z')
A++;
else if(buf[i]>='0' && buf[i]<= '9')
nmb++;
else if(buf[i] == '@' || buf[i] == '#' || buf[i] == '$')
zf++;
}
if (a == 0)
{
printf("必须包含小写字母\n");
continue;
}
if (A == 0)
{
printf("必须包含大写字母\n");
continue;
}
if (nmb == 0)
{
printf("必须包含数字\n");
continue;
}
if (zf == 0)
{
printf("必须包含@/#/$特殊字符\n");
continue;
}
printf("密码符合要求\n");
break;
}
}
return 0;
}