求调
查看原帖
求调
1145476
Axolotl_awa楼主2024/2/23 13:31
#include <iostream>
#include <string>
using namespace std;
bool b[10];
int a[10];
int _end[10],start[10];


bool B3843(int start,int end_,int len,string str) {
    bool boo[3] = {0};
    if(len > 12 || len < 6) {
        return false;
    }
    for(int i = start + 1; i <= end_; i++) {
        if(str[i] >= '0' && str[i] <= '9') {
            boo[0] = true;
        }
        if(str[i] >= 'A' && str[i] <= 'Z') {
            boo[1] = true;
        }
        if(str[i] >= 'a' && str[i] <= 'z') {
            boo[2] = true;
        }
        if(str[i] == '!' || str[i] == '#' || str[i] == '@' || str[i] == '$') {
            boo[3] = true;
        }
        else {
            return false;
        }
    }
    if(boo[3] == false) {
        return false;
    }
    if(boo[0] + boo[1] + boo[2] < 2) {
        return false;
    }
    return true;
}

int main() {
    string str;
    cin >> str;
    start[0] = 0;
    int sum = 0;
    long long len = str.length();
    for(int i = 0; i < len; i++) {
        if(str[i] == ',') {
            _end[sum] = i - 1;
            b[sum] = B3843(start[sum],_end[sum],_end[sum] - start[sum] + 1,str);
            start[++sum] = i + 1;
        }
    }
    _end[sum] = len - 1;
    b[sum] = B3843(start[sum],_end[sum],_end[sum] - start[sum] + 1,str); 
    for(int i = 0; i <= sum; i++) { // 从0到4,共5个
        if(b[i] == true) {
            for(int j = start[i]; j <= _end[i]; j++) {
                cout << str[j];
            }
            cout << endl;
        }
    }
}
2024/2/23 13:31
加载中...