题目描述:
编写程序,实现如下功能:输入要检测的密码,输出密码强度结果。密码字符分为数字字符、字母和其他符号三类。密码强度的检测方法为:若密码位数少于8位,则不进行强度检测,给出提示“no”。若密码位数在8位及以上,则进行强度检测:
若密码字符属于同一类字符,则密码强度为“weak”;
若密码字符属于不同的二类字符,则密码强度为“moderate”;
若密码字符属于不同的三类字符,则密码强度为“strong”。
输入格式:
输入一行字符
输出格式:
输出一行,表示检测的结果。
如果输入内容少于8个长度,输出" no"。
样例输入:
~12abcd5!
样例输出:
strong
提示:
字母只包含小写字母。
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[1000];
cin>>a;
int b=strlen(a),s=0,s1=0,s2=0,s3=0;
if(b<8){
cout<<"no";
}
if(b>=8){
for(int i=0;i<b;i++){
if(a[i]>='0'&&a[i]<='9'){
s=1;
}else if(a[i]>='a'&&a[i]<='z'){
s1=1;
}else{
s2=1;
}
}
s3=s+s1+s2;
if(s3==3){
cout<<"strong";
}
if(s3==2){
cout<<"moderate";
}
if(s3==1){
cout<<"weak";
}
}
return 0;
}