原题链接:密码
解题思路:
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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复