0分求调
查看原帖
0分求调
1461026
davitory楼主2024/10/7 22:00
#include <iostream>
using namespace std;

int main()
{
    std::string line;
    bool ToF = 0;
    int i = 0, j = 0, k = 0, cnt[4],tmp=0;
    
    std::getline(std::cin, line);
    
    for (i = 0; i < line.size(); i)
    {
    
            while (j < line.size() && line[j] != ',')
            {
                ++tmp;
                j++;
            }
            if (tmp < 6 || tmp>12)
            {
                ;
            }
            else
            {
                //大写字母,小写字母和数字必须至少有其中两种,以及至少有四个特殊字符中的一个
                for (k = i; k <= j; k++)//
                {
                    tmp = 0;
                    if (line[k] >= 'A' && line[k] <= 'Z')
                    {
                        cnt[0] = 1;
                        tmp++;
                    }
                    else if (line[k] >= 'a' && line[k] <= 'z')
                    {
                        cnt[1] = 1;
                        tmp++;
                    }
                    else if (line[k] >= '0' && line[k] <= '9')
                    {
                        cnt[2] = 1;
                        tmp++;
                    }
                    else if (line[k] == '!' || line[k] <= '#' || line[k] <= '@' || line[k] <= '$')
                    {
                        cnt[3] = 1;
                        tmp++;
                    }
                    else
                    {
                        ToF = 1;
                    }
                }
                if ((cnt[0] + cnt[1] + cnt[2] >= 2) && cnt[3] == 1 && ToF == 0)
                {
                    cnt[0] = 0;
                    cnt[1] = 0;
                    cnt[2] = 0;
                    cnt[3] = 0;
                    for (k = i; k < j; k++)//
                    {
                        cout << line[k];
                    }
                    cout << endl;
                }
                ToF = 0;
            }
            tmp = 0;
            i = j+1;
            j++;
    
    }
    return 0;
}
2024/10/7 22:00
加载中...