0pts求调(必关)!!!
查看原帖
0pts求调(必关)!!!
1058091
Kingsley_qu楼主2024/7/31 10:46
#include <iostream>
using namespace std;

bool check(string s)
{
	
	bool flag1 = 0, flag2 = 0, flag3 = 0, flag4 = 0;
	for(int i = 0; i < s.size(); i++)
	{
		if('0' <= s[i] && s[i] <= '9') flag1 = 1;
		else if('a' <= s[i] && s[i] <= 'z') flag2 = 1;
		else if('A' <= s[i] && s[i] <= 'Z') flag3 = 1;
		else if(s[i] == '!' || s[i] == '@' || s[i] == '#' || s[i] == '$') flag4 = 1;		
		else return 0;
	}
	int cnt = 0;
	if(flag1) cnt++; 
	if(flag2) cnt++; 
	if(flag3) cnt++;
	if(s.size() < 6) return 0;
	if(s.size() > 9) return 0;
	if(cnt <= 1) return 0;
	if(flag4 == 0) return 0;
	return 1;
}

string st[105];
int top;

int main()
{
    string s, temp = "";
    cin >> s;
    for(int i = 0; i < s.size(); i++) 
    {
    	if(s[i] == ',') {st[++top] = temp; temp = "";}
    	else temp += s[i];
	}
	st[++top] = temp;
	for(int i = 1; i <= top; i++) if(check(st[i])) cout << st[i] << endl;
    return 0;
}
2024/7/31 10:46
加载中...