1 #include <iostream>
2 using namespace std;
3 bool p(string a){
4 int j=0;
5 bool lj=true;
6 for(int i=0;i<a.size();i++){
7 if(a[i]=='.'){
8 j++;
9 if(lj){
10 return false;
11 }
12 }
13 if(a[i]=='@'){
14 lj=false;
15 }
16 }
17 if(j==0||j>3){
18 return 0;
19 }
20 size_t l=a.find(' ');
21 if(l!=string::npos){
22 return false;
23 }
24 l=a.find('@');
25 if(l==string::npos ||l==0){
26 return false;
27 }
28 a[l]=' ';
29 if(a[l+1]=='.'){
30 return false;
31 }
32 l=a.find('@',l);
33 if(l!=string::npos){
34 return false;
35 }
36 l=a.find('.');
37 if(l==string::npos){
38 return false;
39 }
40 if(a[l+1]=='.'){
41 return false;
42 }
43 a=a.substr(a.rfind('.'));
44 if(a.empty()){
45 return false;
46 }
47 for(int i=0;i<a.size();i++){
48 if(a[i]>='0' && a[i]<='9'){
49 return false;
50 }
51 }
52 return true;
53 }
54 int main(){
55 cout<<"请输入要检测的邮箱地址:";
56 string a;
57 getline(cin,a);
58 if(p(a)){
59 cout<<"yes";
60 }else{
61 cout<<"no";
62 }
63 return 0;
64 }