社区讨论

50分求调!真再找不出哪儿出错了!

B3843[GESP202306 三级] 密码合规参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mcee90eg
此快照首次捕获于
2025/06/27 13:50
8 个月前
此快照最后确认于
2025/11/04 06:56
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;

bool mmhg(string a)
{
	if(a.size() < 6 && a.size() > 12)
		return 0;
	int b = 0,c = 0,d = 0,e = 0;
	for(int i = 0;i < a.size();i++)
	{
		if(a[i] >= 'a' && a[i] <= 'z')
			b++;
		else if(a[i] >= 'A' && a[i] <= 'Z')
			c++;
		else if(a[i] >= '0' && a[i] <= '9')
			d++;
		else if(a[i] == '!' || a[i] == '@' || a[i] == '#' || a[i] == '$')
			e++;
		else
			return 0;
	}
	int he = 0;
	if(b >= 2)
		he++;
	if(c >= 2)
		he++;
	if(d >= 2)
		he++;
	if(he >= 2 && e >= 1)
		return 1;
	return 0;
}

int main() {
	string a;
	cin>>a;
	string b[a.size()];
	a = a + ',';
	int j = 0;
	for(int i = 0;i < a.size();i++){
		if(a[i] == ',')
			j++;
		else 
			b[j] = b[j] + a[i];
	}
	for(int i = 0;i < j;i++)
	{
		if(mmhg(b[i]))
			cout<<b[i]<<endl;
	}
	return 0;
}

回必关!

回复

2 条回复,欢迎继续交流。

正在加载回复...