原题链接:密码
解题思路:
1.从输入字符开始做起。
2.一个一个字符判断是不是满足要求。
3.结果的判断与输出。
一步一步分析就行,本题还是比较简单的
参考代码:
#include"stdio.h"
#include"string.h"
int main()
{
int lengh,d,result[100]={0},check1,check2,check3,check4,check5,i,j;//分别为密码长度,结果,检查判断所用变量
char a[100]={0}; //存用户输入几个密码
scanf("%d",&d);
getchar(); //吃回车
for(i=0;i<d;i++)
{
check1=0,check2=0,check3=0,check4=0;//注意一定要初始化
gets(a); //用户输入密码
lengh=strlen(a);
if(lengh<8&&lengh<=16) //长度小于8,就直接判断wie不合格密码,直接开始检查下一行密码
continue;
for(j=0;j<lengh;j++) //一个一个判断是否合格
{
if(a[j]>='A'&&a[j]<='Z')
check1=1;
else if(a[j]>='a'&&a[j]<='z')
check2=1;
else if(a[j]>='0'&&a[j]<='9')
check3=1;
else if(a[j]=='!'||a[j]=='~'||a[j]=='@'||a[j]=='#'||a[j]=='$'||a[j]=='%'||a[j]=='^')
check4=1;
else check5=1;//不是满足要求的字符,密码不合格
}
if((check1+check2+check3+check4)>=3&&check5!=1)
{
result[i]=1;//存结果
}
}
for(i=0;i<d;i++)
{
if(result[i]==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}看看大家还有什么不懂的,请在下方评论区留言
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复