编程练习12
字符的替换
1 //将拼音yiersansiwuliuqibajiu转化为123456789 2 #include <iostream> 3 #include <string> 4 5 using namespace std; 6 7 char* s[9]={"yi","er","san","si","wu","liu","qi","ba","jiu"}; 8 9 void fun(char* str,char** s) 10 { 11 char *tmp,*p=NULL; 12 int i; 13 14 for(i=0;i<9;++i) 15 { 16 while((tmp=strstr(str,s[i]))!=NULL) 17 { 18 *tmp=i+1+'0'; 19 *(tmp+1)='\0'; 20 tmp+=strlen(s[i]); 21 if(*tmp=='\0') break; 22 else 23 strcat(str,tmp); 24 } 25 } 26 } 27 28 29 int main() 30 { 31 char str[1000]; 32 while(cin>>str) 33 { 34 if((strcmp(str,"end"))!=0) 35 { 36 fun(str,s); 37 cout<<str<<endl; 38 } 39 else 40 { 41 cout<<"Sorry,go to sleep,U!"<<endl; 42 break; 43 } 44 } 45 46 return 0; 47 }
也没什么含量,但是从C/C++代码审查表来看的话,我的上面那些代码都是不合格的吧,不管了,华为貌似是只看测试用例是否通过的!
思想的高度决定事情的成败!
浙公网安备 33010602011771号