别看这道题是紫题,其实也就个红题水平,我这种蓝名蒟蒻都能做出来。

我做这道题是用几个变量来记录这些字符,最后和字符串的长度一起判断,再看符不符合题目的三个要求。

献AC代码:

#include<bits/stdc++.h>//万能文件头
using namespace std;
string st;
int wor,big,sma;//用来记录数字,大写小写字母有没有出现
int main()
{
    cin>>st;
    for(int i=0;i<st.size();i++)
    {
        if(st[i]>=48&&st[i]<=57)wor=1;//判断数字有没有出现,‘0’的ASCII码是48,‘9’的ASCII码是57
        if(st[i]>=65&&st[i]<=90)big=1;//判断大写字母有没有出现,‘A’的ASCII码是65,‘Z’的ASCII码是90
        if(st[i]>=97&&st[i]<=122)sma=1;//判断小写字母有没有出现,‘a’的ASCII码是97,‘z’的ASCII码是122
    }
    if(wor&&big&&sma&&st.size()>=5)cout<<"Correct";//最后直接用size函数求长度,判断长度是否不小于5。如果四个条件都满足,输出Correct
    else cout<<"Too weak";//不符合条件,就输出Too weak

    return 0;//结束
}