Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
附代码纪念游过80,硬上呗//poj 3366 //If the word is in the list of irregular words replace it with the given plural. //Else if the word ends in a consonant followed by "y", replace "y" with "ies". //Else if the word ends in "o", "s", "ch", "sh" or "x", append "es" to the word. //Else append "s" to the word. #include <iostream> using namespace std; int i; int l; int n; char irregular[30][25]; char plural[30][25]; char str[25]; bool is_consonant(char c) { if((c == 'a') || (c == 'e') || (c == 'i') || (c == 'o') || (c == 'u')) return false; return true; } int is_irregular(char * str) { for(int i=0; i<l; i++) if(strcmp(str, irregular[i]) == 0) return i; return -1; } int main() { cin>>l>>n; for(i=0; i<l; i++) cin>>irregular[i]>>plural[i]; for(i=0; i<n; i++) { cin>>str; int index = is_irregular(str); if(index != -1) cout<<plural[index]<<endl; else if(is_consonant(str[strlen(str)-2]) && (str[strlen(str)-1] == 'y')) { int pre_len = strlen(str); str[pre_len-1] = 'i'; str[pre_len] = 'e'; str[pre_len+1] = 's'; str[pre_len+2] = '\0'; cout<<str<<endl; } else if( (str[strlen(str)-1] == 'o') || (str[strlen(str)-1] == 's') || (str[strlen(str)-1] == 'x') || ((str[strlen(str)-1] == 'h') && (str[strlen(str)-2] == 'c')) || ((str[strlen(str)-1] == 'h') && (str[strlen(str)-2] == 's'))) { int pre_len = strlen(str); str[pre_len] = 'e'; str[pre_len+1] = 's'; str[pre_len+2] = '\0'; cout<<str<<endl; } else { int pre_len = strlen(str); str[pre_len] = 's'; str[pre_len+1] = '\0'; cout<<str<<endl; } } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator