问题
请问为什么下面这段代码单独输入 eep 时会显示
accept
而放在一起时会显示not accept
这个是放一起的情况 不放一起时第一个输入 eep 会显示 accept
求问为什么??? 找出答案转点钱作为奖励
分享知识为目的~~~
代码背景参照上篇博客
代码
#include <iostream>
#include <string>
using namespace std;
int yuanyin(char a){
if(a=='a' ||a=='e' ||a=='i'||a=='o'||a=='u') return 1;
else return 0;
}
int main(){
string s;
int flag=0,trek=0,yuanfu=0;
while(cin>>s && s!="end"){
for(int i=0;i<s.length();i++){
if((i<s.length()-2 && yuanyin(s[i])&& yuanyin(s[i+1]) && yuanyin(s[i+2])) ||(i<s.length()-2 && yuanyin(s[i])==0&& yuanyin(s[i+1])==0 && yuanyin(s[i+2])==0)){
yuanfu=1; break;
}
if(s[i+1]==s[i]) {
if(s[i]=='e' ||s[i]=='o') continue;
trek=1;break;
}
if(yuanyin(s[i])){flag = 1;}
}
if(trek==0 && yuanfu==0){
if(flag==0) {cout<<"<"<<s<<">"<<" is not acceptable."<<endl;}
else{ cout<<"<"<<s<<">"<<" is acceptable."<<endl; }
}
else{
cout<<"<"<<s<<">"<<" is not acceptable."<<endl;
}
}
return 0;
}
提醒:错就出在了一个很小的地方~