【找bug有奖励】:POJ1575未通过版本查错,找出答案支付宝转5块

问题

请问为什么下面这段代码单独输入 eep 时会显示
accept
而放在一起时会显示not accept

【找bug有奖励】:POJ1575未通过版本查错,找出答案支付宝转5块_第1张图片

这个是放一起的情况 不放一起时第一个输入 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;
}

提醒:错就出在了一个很小的地方~

你可能感兴趣的:(代码,namespace,bug,支付宝,poj)