程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU1039-Easier Done Than Said?(字符串處理),hdu1039-easierdone

HDU1039-Easier Done Than Said?(字符串處理),hdu1039-easierdone

編輯:C++入門知識

HDU1039-Easier Done Than Said?(字符串處理),hdu1039-easierdone


一,題意:
  判斷三個條件
  1:有元音字母
  2:不能三個連續元音或輔音
  3:不能連續兩個相同的字母,除非ee或oo
二,思路
  寫函數一個條件一個條件去判斷

1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 //判斷是否為元音 6 bool isyuan(char a){ 7 if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u') 8 return true; 9 return false; 10 } 11 12 //判斷第一個條件是否滿足 13 int judge1(char a[] , int len){ 14 for(int i = 0 ; i < len ; i++){ 15 if(yuan(a[i])) 16 return 1; 17 } 18 return 0; 19 } 20 21 //判斷第二個條件是否滿足 22 int judge2(char a[] , int len){ 23 for(int i = 0 ; i < len - 2 ; i++){ 24 if((isyuan(a[i])&&isyuan(a[i+1])&&isyuan(a[i+2]))||(!isyuan(a[i])&&!isyuan(a[i+1])&&!isyuan(a[i+2]))) 25 return 0 ; 26 } 27 return 1; 28 } 29 30 //判斷第三個條件是否成立 31 int judge3(char a[] , int len){ 32 for(int i = 0 ; i < len - 1 ; i++){ 33 if(a[i]==a[i+1]&&a[i]!='o'&&a[i]!='e') 34 return 0 ; 35 } 36 return 1; 37 } 38 39 int main(){ 40 char arr[100]; 41 while(cin>>arr&&strcmp(arr,"end")){ 42 int len = strlen(arr); 43 int k1 = judge1(arr,len); 44 int k2 = judge2(arr,len); 45 int k3 = judge3(arr,len); 46 //當三個條件都滿足時 47 if(k1==1&&k2==1&&k3==1) 48 cout<<"<"<<arr<<"> "<<"is acceptable."<<endl; 49 else 50 cout<<"<"<<arr<<"> "<<"is not acceptable."<<endl; 51 } 52 return 0; 53 } View Code

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved