安全密码判断

某网站规定注册账号时密码必须达到一定强度才可以。他们规定密码长度至少6位,数字、大写字母、小写字母、符号(~!@#$%^&*()[]}{|<>?/.,:"';)这四类中至少包含三类才合格。现在请你写一段程序来判断一个密码是否合格。

输入格式:

第一行为一个整数n(0<n<10),代表测试用例组数,
后边是n行测试用例,每行为一个长度不超过30的字符串。

输出格式:

共n行,与输入的n行测试用例相对应,如果密码合格则输出yes,否则输出no。

#include<stdio.h>
#include<string.h>
int main()
{
	int n;
	char arr[30];
	int a=0,b=0,d=0,e=0,count=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
	scanf("%s",arr);
	int f=strlen(arr);
	for(int j=0;j<f;j++){
		//TODO
	
	
		while(arr[j]!='\n')//因为字符串我已经有了,所以可以用这种方法判断什么时候该停下
		{
		count++;
		if(arr[j]>=48&&arr[j]<=57)
		{
			a=1;
			//TODO
		}
		if(arr[j]>=65&&arr[j]<=90)
		{
			b=1;
			//TODO
		}	
		if(arr[j]>=79&&arr[j]<=122)
		{
			d=1;
			//TODO
		}
		if((arr[j]>=33&&arr[j]<=42)||arr[j]==44||arr[j]==46||arr[j]==47||arr[j]==58||arr[j]==59||arr[j]==60||arr[j]==62||arr[j]==63||arr[j]==64||arr[j]==91||arr[j]==93||arr[j]==94||arr[j]==123||arr[j]==124||arr[j]==125||arr[j]==126)
		{
			e=1;
			//TODO
		}
		if(count<6)
		{
			printf("no");
			//TODO
		}
		else if((a+b+d+e)>=3)
		{
			printf("yes");
		}
		else
		printf("no");
		}
			//TODO
		}
			
		//TODO
	}
	return 0;
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值