在这里插入代码片
#include<string.h>
#include<iostream>
using namespace std;
#define MAX 20
#define MAXN 1000000
bool Isdanger(char *str);
bool Islimit(char *str);
int Findchar(char *str,int l,int r,char a);
int main(){
char str[MAX];
char kind1,kind2,kind3;
while(scanf("%s",str)!=EOF){
int a=1;
char b='A';
try{
if(Isdanger(str))
throw(a);
if(Islimit(str))
throw(b);
if(!Isdanger(str)&&!Islimit(str))
throw("It is safe thing!");
}
catch(int const a){
cout<<"It is a dangerous thing!"<<endl;
}
catch(char const b ){
cout<<"It is a limited thing!"<<endl;
}
catch(char const*ERR){
cout<<ERR<<endl;
}
catch(...)
{
cout<<"others ERR!"<<endl;
}
}
return 0;
}
bool Isdanger(char *str){
int len=strlen(str);
int d1,d2,d3,d4;
d1=Findchar(str,0,len,'b');
if(d1>len) return false;
d2=Findchar(str,d1,len,'o');
if(d2>len) return false;
d3=Findchar(str,d2,len,'m');
if(d3>len) return false;
d4=Findchar(str,d3,len,'b');
if(d4<len)
return true;
else
return false;
}
bool Islimit(char *str){
int len=strlen(str);
int d1,d2,d3,d4,d5;
d1=Findchar(str,0,len,'o');
if(d1>len) return false;
d2=Findchar(str,d1,len,'p');
if(d2>len) return false;
d3=Findchar(str,d2,len,'i');
if(d3>len) return false;
d4=Findchar(str,d3,len,'u');
if(d4>len) return false;
d5=Findchar(str,d4,len,'m');
if(d5<len)
return true;
else
return false;
}
int Findchar(char *str,int l,int r,char a){
int len=strlen(str);
for(int i=0;i<len;i++){
if(str[i]==a)
return i;
}
return MAXN;
}