直接复制吧
2024-07-15 11:17:08
发布于:北京
4阅读
0回复
0点赞
#include<iostream>
#include<stack>
using namespace std;
bool is_limited_char(char c){
return c=='+'||c=='-'||c=='*'||c=='/'||c=='('||c==')';
}
bool is_limited_alpha(char a){
return a>96&&a<100;
}
bool is_limited_calculation(char d){
return d=='+'||d=='-'||d=='*'||d=='/';
}
stack<char> s;
int main(){
char c,lc='\0';
while(cin>>c){
if(c==';')break;
if(is_limited_alpha(c)&&is_limited_alpha(lc)||
is_limited_calculation(c)&&is_limited_calculation(lc)){
cout<<"ERROR 3"<<endl;
return 0;
}
if(c=='(')s.push('(');
if(c==')'){
if(s.empty()){
cout<<"ERROR 2"<<endl;
return 0;
}
else s.pop();
}
if(!is_limited_char(c)&&!is_limited_alpha(c)){
cout<<"ERROR 1"<<endl;
return 0;
}
lc=c;
}
if(!s.empty()){
cout<<"ERROR 2"<<endl;
return 0;
}
else{
cout<<"OK"<<endl;
return 0;
}
}
这里空空如也
有帮助,赞一个