为啥不输出

B3843 [GESP202306 三级] 密码合规

piyuhan666 @ 2024-08-03 14:09:45


using namespace std;
string s,t;//t来临时输出 
bool a,b,c,d;//判断各大类字符是否成立 
int sy=0;//字符串长度 
bool f=0;
int main(){
    cin>>a;
    for(int i=0;i<s.size();i++){
        if(s[i]==','){
            if(a+b+c>=2&&d==1&&sy>=6&&sy<=12&&f==1){
                cout<<t<<endl;
            }
            t="";
            a=0;
            b=0;
            c=0;
            d=0;
            sy=0;
        }
        else{
            if(s[i]>='A'&&s[i]<='Z'){
                a=1;
            }
            if(s[i]>='a'&&s[i]<='z'){
                b=1;
            }
            if(s[i]>='0'&&s[i]<='9'){
                c=1;
            }
            if(s[i]=='!'||s[i]=='@'||s[i]=='#'||s[i]=='$'){
                d=1;
            }
            t+=s[i];//连接字符串 
            sy+=1;//加位数 
        }
    }
    return 0; 
}```

by jntmhh @ 2024-08-03 14:17:45

  1. 没头文件
  2. 没cout或者printf之类的输出语句 @piyuhan666 (上面那个格式错了)

by piyuhan666 @ 2024-08-03 14:18:49

复制过来出了差错


by qazsedcrfvgyhnujijn @ 2024-08-03 14:18:50

第一:你没导头文件,没导头文件写籾孖 C++ 呢。
第二:你的 s 应该才是原题的输入字符串,可是你主函数第一行输入的是 a
省流:代码习惯不好


by piyuhan666 @ 2024-08-03 14:19:19

哪个格式错了


by yaozhuocheng @ 2024-08-03 14:22:16

//第一排要写#include<bits/stdc++.h>或者其他头文件 using namespace std; string s,t;//t来临时输出 bool a,b,c,d;//判断各大类字符是否成立 int sy=0;//字符串长度 bool f=0; int main(){ cin>>a; for(int i=0;i<s.size();i++){ if(s[i]==','){ if(a+b+c>=2&&d==1&&sy>=6&&sy<=12&&f==1){ cout<<t<<endl; } t=""; a=0; b=0; c=0; d=0; sy=0; } else{ if(s[i]>='A'&&s[i]<='Z'){ a=1; } if(s[i]>='a'&&s[i]<='z'){ b=1; } if(s[i]>='0'&&s[i]<='9'){ c=1; } if(s[i]=='!'||s[i]=='@'||s[i]=='#'||s[i]=='$'){ d=1; } t+=s[i];//连接字符串 sy+=1;//加位数 } } // 最后输出加上cout<<x或者printf; return 0; }```


by piyuhan666 @ 2024-08-03 14:22:59

自己写就是发现不了,之前用的是a,但后面也要用,就忘改了


by piyuhan666 @ 2024-08-03 14:24:31

大佬们,改了,还是不对


by piyuhan666 @ 2024-08-03 14:27:12


#include<bits/stdc++.h>
using namespace std;
string s,t;//t来临时输出 
bool a,b,c,d;//判断各大类字符是否成立 
int sy=0;//字符串长度 
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]==','){
            if(a+b+c>=2&&d==1&&sy>=6&&sy<=12){
                cout<<t<<endl;
            }
            a=0;
            b=0;
            c=0;
            d=0;
            sy=0;
        }
        else{
            if(s[i]>='A'&&s[i]<='Z'){
                a=1;
            }
            if(s[i]>='a'&&s[i]<='z'){
                b=1;
            }
            if(s[i]>='0'&&s[i]<='9'){
                c=1;
            }
            if(s[i]=='!'||s[i]=='@'||s[i]=='#'||s[i]=='$'){
                d=1;
            }
            t+=s[i];//连接字符串 
            sy+=1;//加位数 
        }
    }
    return 0; 
}```

by piyuhan666 @ 2024-08-03 14:31:50

多输出了


|