标签:using 谓词 string pre blog cpp return class ios
#include<iostream> #include<string> #include<stack> using namespace std; int main() { stack<char> s; stack<int> b; string a; cin>>a; int flag=0; if(a[0]==‘P‘||a[0]==‘Q‘||a[0]==‘R‘||a[0]==‘S‘||a[0]==‘T‘) cout<<"谓词"<<endl; else { cout<<"普通命题"<<endl; return 0; } for(int i=0;i<a.length();i++) { if(a[i]==‘(‘) { s.push(‘(‘); b.push(i); } if(a[i]==‘)‘) { if(s.empty()) { flag=1; break; } else { s.pop(); int w=b.top(); if(w==1) { b.pop(); } else { if(a[w]!=‘f‘||a[w]!=‘g‘||a[w]!=‘h‘) flag=1; } } } } if(!s.empty()) flag=1; for(int i=0;i<a.length();i++) { if(a[i]==‘(‘||a[i]==‘,‘||a[i]==‘P‘) continue; else { if((‘a‘>a[i]&&a[i]>‘z‘)) { if(a[i]!=‘x‘||a[i]!=‘y‘) { flag=1; break; } } } } if(flag==0) cout<<"legal"<<endl; else cout<<"illegal"<<endl; return 0; }
标签:using 谓词 string pre blog cpp return class ios
原文地址:http://www.cnblogs.com/xlqtlhx/p/6087801.html