需求描述
随着科技的日新月异,互联网对密码的管理要求越来越高,一般对密码有如下要求:
1.密码长度要超过8位
2.密码内容要包括大小写字母.数字.其它符号,以上四种至少三种
3.密码中不能有相同长度大于2的子串重复
输入描述:
一组或多组长度超过2的字符串。每组占一行
输出描述:
如果符合要求输出:OK,否则输出NG
示例:
输入:021Abc9000021Abc9Abc1021ABC9000021$bc9000输出:
OKNGNGOK需求分析
要编写符合条件的代码,我们就需要对输入密码的字符串分别进行长度、数字、大小写字母以及其他特殊符号进行判断。而如果都全部写在主函数中时,显得代码较为臃肿,所以这里我们下提前将字符串、长度以及字符串重复条件写在主函数外,然后在main函数中调用即可。
代码实现基于以上分析,实现的代码内容如下,仅供参考:
#include
using namespace std;
bool check_char{
int a=0, b = 0, c=0, d=0;
for ; i++){
if
a=1;
else if
b=1;
else if
c=1;
else
d = 1;
}
if >= 3){
return true;
}
else
return false;
}
bool check_len{
if > 8)
{
return true;
}
else
return false;
}
bool check_repeat{
for - 3; i++)
{
string s = str.substr;
if != str.npos)
return false;
}
return true;
}
int main
{
string str;
while
{
if && check_char && check_repeat)
cout << "OK" << endl;
else{
cout << "NG" << endl;
}
return 0;
}
C/C++学习推荐
对于有志于学C/C++编程的同学,本文推荐一本适合于大众的C/C++系列丛书——C/C++算法从菜鸟到达人,概述从最简单的冒泡算法开始,由浅入深的介绍C/C++常见的算法、模板以及STL容器,是初学者和资深软件工程师都必不可少的书籍,如果想要进一步了解C/C++编程,该书是不错的选择。
C/C++算法从菜鸟到达人京东月销量100好评率98%无理由退换京东配送官方店¥66.3购买写在最后
注意:上述代码只是本人通过自己的判断而编写的一种实现方法,肯定还有其他更优解法,这里只是以一段普通的代码抛砖引玉。如果你有更优解决方法的话,欢迎留言讨论。
上述就是大家分享的内容,希望大家喜欢,期待您的点赞关注,下期内容更精彩,感谢您的阅读!
我是中原说教育,如果您在日常生活中遇到志愿填报或者C/C++类问题,您不知道该如何解决,都可以直接点击下方卡片向我提问,期待您的咨询和留言!