hdu 1039 Easier Done Than Said?

来源:互联网 发布:c 语言标准函数库速查 编辑:程序博客网 时间:2024/05/16 06:02

1:有元音字母

2:不能三个连续元音或辅音

3.不能连续两个相同的字母,除非ee或oo

做的时候注意到了一个曾经一直没有意识到的问题,string.size()返回的是无符号整形。

#include<iostream>#include<cstring>using namespace std;int f(char x){if(x=='a'||x=='e'||x=='i'||x=='o'||x=='u') return 1;else return 0;}int main(){string str;while(cin>>str){if(str=="end") break;int flag=0;//有元音字母 for(int i=0;i<str.size();i++){if(f(str[i])){flag=1;break;}}//cout<<int(str.size())-3<<endl;for(int i=0;i<int(str.size())-2;i++){//cout<<str[i]<<str[i+1]<<str[i+2]<<endl;if(f(str[i])==1&&f(str[i+1])==1&&f(str[i+2])==1){flag=0;break;} if(f(str[i])!=1&&f(str[i+1])!=1&&f(str[i+2])!=1){flag=0;break;} }for(int i=0;i<int(str.size())-1;i++){if(str[i]==str[i+1]){if(str[i]!='e'&&str[i]!='o'){flag=0;break;}}}if(flag) cout<<"<"<<str<<">"<<" is acceptable."<<endl;else cout<<"<"<<str<<">"<<" is not acceptable."<<endl;}return 0;} 


0 0
原创粉丝点击