一个程序,对用户输入的密码进行检验

设计一个程序,对用户输入的密码进行检测。密码规则为:①长度在 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;
}