Song_jiayu @ 2024-10-27 09:21:56
不输出提示 return value 3221226356 提交RE
#include<bits/stdc++.h>
using namespace std;
string s,t;
long long f;
int oc1,oc2,oc3,oc4;
/*1.大写开关 2.小写开关 3.数字开关 4.其他开关*/
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]!=','){
t[i]=s[i];
}else{
f=oc1=oc2=oc3=oc4=0;
for(int j=0;j<t.size();j++){
if(t[j]>='A' and t[j]<='Z'){
oc1=1;
}else if(t[j]>='a' and t[j]<='z'){
oc2=1;
}else if(t[j]>='0' and t[j]<='9'){
oc3=1;
}else if(t[j]=='!' or t[j]=='@' or t[j]=='#' or t[j]=='$'){
oc4++;
}else{
f=1;
break;
}
}
if(f==0 and oc1+oc2+oc3>=2 and oc4!=0){
if(t.size()>=6 and t.size()<=12){
cout<<t<<"\n";
}
}
t="";
}
}
return 0;
}
by LLh_kun @ 2024-11-11 20:48:37
改了两处,都在注释里
#include<bits/stdc++.h>
using namespace std;
string s,t;
long long f;
int oc1,oc2,oc3,oc4;
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]!=','){
t+=s[i];//这里是t+= s[i](等于把s[i]拼在t后面)
}else{
f=oc1=oc2=oc3=oc4=0;
for(int j=0;j<t.size();j++){
if(t[j]>='A' and t[j]<='Z'){
oc1=1;
}else if(t[j]>='a' and t[j]<='z'){
oc2=1;
}else if(t[j]>='0' and t[j]<='9'){
oc3=1;
}else if(t[j]=='!' or t[j]=='@' or t[j]=='#' or t[j]=='$'){
oc4++;
}else{
f=1;
break;
}
}
if(f==0 and oc1+oc2+oc3>=2 and oc4!=0){
if(t.size()>=6 and t.size()<=12){
cout<<t<<"\n";
}
}
t="";
}
}
//到这里了,我只能说:这数据太水了!!!
//由于字符串最后是没有“,”的(那个输出答案的判断是假如这个字符是‘,’才会进入)
//所以假设最后一个是合法的,那么他在结尾没有遇到“,”
//以至于即使合法最后一个也不会进入那个判断输出 !!
//所以得在后面再加一个代码
//(这个数据水到不加这段代码也不会错,但实际现实中一些数据是过不去的)
f=oc1=oc2=oc3=oc4=0;
for(int j=0;j<t.size();j++){
if(t[j]>='A' and t[j]<='Z'){
oc1=1;
}else if(t[j]>='a' and t[j]<='z'){
oc2=1;
}else if(t[j]>='0' and t[j]<='9'){
oc3=1;
}else if(t[j]=='!' or t[j]=='@' or t[j]=='#' or t[j]=='$'){
oc4++;
}else{
f=1;
break;
}
}
if(f==0 and oc1+oc2+oc3>=2 and oc4!=0){
if(t.size()>=6 and t.size()<=12){
cout<<t<<"\n";
}
}
return 0;
}
by LLh_kun @ 2024-11-11 20:49:17
@Song_jiayu 亲测可AC
by Song_jiayu @ 2024-11-12 21:45:08
谢谢大佬,已回关