解题思路:
这道题有个条件我开始没有看到“至少3组条件”,我本来是4组都满足才输出“YES”,发现3组,其实也不太难,每个要求设置一个变量,最后将4个变量相加,如果大于等于3则满足条件输出。
注意事项:
细心,肯琢磨就好,欢迎交流。
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; while(n--) { int flag1=0,flag2=0,flag3=0,flag4=0;//判断是否符合条件的4组变量; string str; cin>>str; if(str.size()>=8&&str.size()<=16) { for(int i=0;i<str.size();i++) { if(str[i]>='A'&&str[i]<='Z') flag1=1; //如果符合条件,则让变量为1,最后便于判断。 else if(str[i]>='a'&&str[i]<='z') flag2=1; else if(str[i]>='0'&&str[i]<='9') flag3=1; else if((str[i]==64)||(str[i]>=35&&str[i]<=37)||(str[i]==23)||(str[i]==126)||(str[i]==94)) flag4=1; else flag1=-2; //这个是判断长度的,让他为-2,是因为如果他满足4组条件时,最后的和也不会大于等于3 } } if(flag1+flag2+flag3+flag4>=3) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
0.0分
0 人评分
A+B for Input-Output Practice (C++代码)浏览:632 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:716 |
水仙花 (C语言代码)浏览:1163 |
C语言训练-数字母 (C语言代码)浏览:648 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1324 |
明明的随机数 (C语言代码)浏览:965 |
C语言程序设计教程(第三版)课后习题8.3 (C++代码)浏览:527 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:596 |
简单的a+b (C语言代码)浏览:643 |