Hi! 今日刷题,小白一枚,欢迎指导 ~
【链接】
密码检查_牛客题霸_牛客网
【思路】
依次根据规则判断密码是否合格。while里嵌套个for循环,来进行密码的多组输入,for循环进行一次代表判断一个密码串;规则判断一条条来,但凡不符合一个直接输出NO。首先不能以数字开头,此处利用ASCII值进行判断;接着利用strlen函数来计算密码串的长度;再是仅由至少大写字母,小写字母和数字中的两种组成,挨个字符进行判断,用变量加以标记。悟:不要满足这个条件就给个YES,应该是以不满足条件给NO为主,直到最后给YES。
【上代码】
#include <stdio.h>
#include<string.h>
int main()
{int n=0,dight=0,big=0,small=0,other=0;while(~scanf("%d",&n)){for(int i=0;i<n;i++){char arr[101]={0};scanf("%s",arr);//不能以数字开头if(arr[0]>='0'&&arr[0]<='9'){printf("NO\n");continue;}//密码长度至少为8if(strlen(arr)<8){printf("NO\n");continue;}//大写,小写,数字组成for(int i=0;arr[i]!='\0';i++){if(arr[i]>='\0'&&arr[i]<='9')dight++;//数字else if(arr[i]>='A'&&arr[i]<='Z')big++;//大写else if(arr[i]>='a'&&arr[i]<='z')small++;//小写else other++;}if(other!=0){printf("NO\n");continue;}if(((dight>0)+(small>0)+(big>0))<2){printf("NO\n");continue;}printf("YES\n");}}return 0;
}
路漫漫其修远兮,每天进步一点点!
分享一首歌
————————————《让我为你唱一首歌》————————————
让我为你唱首歌(电视剧《一起来看流星雨》插曲) - 张翰/朱梓骁/魏晨/俞灏明 - 单曲 - 网易云音乐
至此结束!
我是云边有个稻草人
期待与你的下一次相遇——