编程练习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++代码审查表来看的话,我的上面那些代码都是不合格的吧,不管了,华为貌似是只看测试用例是否通过的!

posted on 2012-09-15 14:42  lyncre  阅读(182)  评论(0)    收藏  举报

导航