标签:统一 识别 out 结构 div his namespace int --
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <vector> #include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <algorithm> #include <string> using namespace std; //冠词1,形容词4,名词2,动词3, //主谓 //统一用冠词+(形容词)+名词+动词结构 //string sen1="The man studys"; //string sen2= “A dog sings”; //string sen3="A lovely cat dances"; //string sen4="An ugly snake sings"; //主谓宾 //统一用冠词+(形容词 )+动词+冠词+(形容词)+名词; //string sen1="The ugly dog hits the old postman"; //string sen2="The beautiful girl likes the tall tree"; //string sen3= The man became a famous doctor. //string sen4="The Green like the lovely dog"; //string sen5="The dog hits the old man“; //string sen6=“The dog hits the man”; //主谓+间接宾语+直接宾语 //统一用冠词+(形容词)+名词+动词+名词+冠词+名词 //string sen1="The beautiful girl bought me a computer"; //string sen2=" The old man passes him the salt"; //string sen3="The boy gives her a gift" //string sen4="The young man gives you a gift; //string sen5="The man gives you a beautiful gift" //string sen5="The young man gives you a beautiful gift" //string sen6="He gives you a gift" //主谓宾宾补 //统一用冠词+(形容词)+名词+动词+冠词+名词+形容词 //string sen1=“The student keep the school clean.” //string sen2=“The ugly dog makes the man angry” //string sen3="The ugly dog makes the old man angry" //string sne4="The dog makes the old man angry" string mingci[]={"dog","postman","man","cat","snake","girl","doctor","Green","computer","salt","boy","gift","her","s","me","tree","him","school","student","you","I","He"}; string dongci[]={"hits","studys","sings","dances","sings","likes","became","like","bought","passes","gives","keep","makes","am"}; string guanci[]={"The","the","a","A","an","An"}; string xingrongci[]={"lovely","ugly","old","beautiful","tall","famous","clean","angry","young"}; string juzi[]={"123","1423","1423142","12321","123241","1423212","123212","123124","1423124","123142","12312","14231424","1231424","1232142","14232142","23212"};//116条语法分析 char panduan1(string a) { for(int i=0;i<sizeof(mingci)/sizeof(string);i++) { if(a==mingci[i]) return ‘2‘; } return ‘0‘; } char panduan2(string a) { for(int i=0;i<sizeof(dongci)/sizeof(string);i++) { if(a==dongci[i]) return ‘3‘; } return ‘0‘; } char panduan3(string a) { for(int i=0;i<sizeof(guanci)/sizeof(string);i++) { if(a==guanci[i]) return ‘1‘; } return ‘0‘; } char panduan4(string a) { for(int i=0;i<sizeof(xingrongci)/sizeof(string);i++) { if(a==xingrongci[i]) return ‘4‘; } return ‘0‘; } int main() { system("color F0"); /*adjust the blackground color*/ string sentence; char a,b,c,d; cout<<"欢迎来到测试句子区!"<<endl; cout<<"按1表示开始测试,按0表示退出,注意每输入一个句子结尾以0表示该句子结束"<<endl; int a1; cin>>a1; while(a1!=0) { string temp=""; cin>>sentence; while(sentence!="0") { a=panduan1(sentence); if(a!=‘0‘) temp+=a; else { b=panduan2(sentence); if(b!=‘0‘) temp+=b; else { c=panduan3(sentence); if(c!=‘0‘) temp+=c; else { d=panduan4(sentence); if(d!=‘0‘) temp+=d; } } } cin>>sentence; } int i; for(i=0;i<sizeof(juzi)/sizeof(string);i++) { if(temp==juzi[i]) { cout<<"This is a legal sentence!"<<endl; break; } } if(i==sizeof(juzi)/sizeof(string)) cout<<"This is an illegal sentence!"<<endl; cout<<"按1表示继续测试,按0表示退出,注意每输入一个句子结尾以0表示该句子结束"<<endl; cin>>a1; } return 0; }
标签:统一 识别 out 结构 div his namespace int --
原文地址:http://www.cnblogs.com/xlqtlhx/p/6081298.html