求助,快崩溃了
查看原帖
求助,快崩溃了
644994
sakura03楼主2023/9/4 19:32
#include<iostream>
#include<vector>
#include<algorithm>
#include<map>
#include <cmath>
using namespace std;
string s;
int main(){
    getline(cin,s);
    int pos1=0,pos2,flag,a=0;
    string sTemp;
    while(s.find(',')!=s.npos){
        a=0;
        flag=0;
        pos2=s.find(',');
        sTemp=s.substr(pos1,pos2);
        for(auto i:sTemp){
            if(isupper(i))a++;
            else if(islower(i))a++;
            else if(isdigit(i))a++;
            else if(i=='!'||i=='@'||i=='#'||i=='$')
                flag=1;
            else{
                flag=0;
                break;
            }
        }
        if(sTemp.size()>12)flag=0;
        if(sTemp.size()<6)flag=0;
        if(flag && a>=2)cout<<sTemp<<endl;
        s.erase(pos1,pos2+1);
    }
    a=0;
    flag=0;
    pos2=s.size()-1;
    sTemp=s;
    for(auto &i:sTemp){
        if(isupper(i))a++;
        else if(islower(i))a++;
        else if(isdigit(i))a++;
        else if(i=='!'||i=='@'||i=='#'||i=='$')
            flag=1;
        else{
            flag=0;
            break;
        }
    }
    if(sTemp.size()>12)flag=0;
    if(sTemp.size()<6)flag=0;
    if(flag && a>=2)cout<<sTemp<<endl;
    s.erase(pos1,pos2+1);
}
//已经改急了,代码面目全非
2023/9/4 19:32
加载中...