0
点赞
收藏
分享

微信扫一扫

安全密码判断

有点d伤 2022-05-06 阅读 67

某网站规定注册账号时密码必须达到一定强度才可以。他们规定密码长度至少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;
	
}

举报

相关推荐

0 条评论