HDU1039-Easier Done Than Said?(字符串处理)

时间:2024-01-22 08:35:44

一,题意:
  判断三个条件
  1:有元音字母
  2:不能三个连续元音或辅音
  3:不能连续两个相同的字母,除非ee或oo
二,思路
  写函数一个条件一个条件去判断

  #include<iostream>
#include<cstring>
using namespace std; //判断是否为元音
bool isyuan(char a){
if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u')
return true;
return false;
} //判断第一个条件是否满足
int judge1(char a[] , int len){
for(int i = ; i < len ; i++){
if(yuan(a[i]))
return ;
}
return ;
} //判断第二个条件是否满足
int judge2(char a[] , int len){
for(int i = ; i < len - ; i++){
if((isyuan(a[i])&&isyuan(a[i+])&&isyuan(a[i+]))||(!isyuan(a[i])&&!isyuan(a[i+])&&!isyuan(a[i+])))
return ;
}
return ;
} //判断第三个条件是否成立
int judge3(char a[] , int len){
for(int i = ; i < len - ; i++){
if(a[i]==a[i+]&&a[i]!='o'&&a[i]!='e')
return ;
}
return ;
} int main(){
char arr[];
while(cin>>arr&&strcmp(arr,"end")){
int len = strlen(arr);
int k1 = judge1(arr,len);
int k2 = judge2(arr,len);
int k3 = judge3(arr,len);
//当三个条件都满足时
if(k1==&&k2==&&k3==)
cout<<"<"<<arr<<"> "<<"is acceptable."<<endl;
else
cout<<"<"<<arr<<"> "<<"is not acceptable."<<endl;
}
return ;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。