解析:很简单的一题,一开始想的复杂了。其实,没有必要再原字符串上修改,跟没必要分解字符串,只要按想要的方式逐一输出即可。

   没有考察算法效率,没有必要考虑时间复杂度。

代码:

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     char s[10000];//保证充分的空间
 6     int i,count=1;
 7     while(cin.getline(s,10000)){        
 8         //此时的s代表字符串的首地址
 9         //先修改字符串
10         for(i=0;s[i];i++){
11             if(s[i]=='\"'){   //注意是转意字符
12                 if(count%2)//是奇数
13                     cout<<"``";
14                 else
15                     cout<<"'\'";
16                 count++;
17             }
18             else
19                 cout<<s[i];
20         }
21         cout<<'\n';
22     }                
23     return 0;
24 }