Sicily 1323. Switch text

题目地址:1323. Switch text

思路:

      题目意思不好理解呀。

     题目意思是这样的:输入两个测试数据,首先,两个测试数据本身得各自前后倒转,然后两个测试数据倒转后的结果再各自对半互换,然后测试数据二先输出,测试数据一再输出,不断循环下去。还有一点很关键,就是对空行的判断,这个空行可以是空格组成,或者是直接回车,空行是忽略不输出的。

     还是直接看代码吧,这样好理解一点。用stl会使程序简化明了很多,具体如下:

 

 1 #include <iostream>

 2 #include <string>

 3 #include <algorithm>

 4 using namespace std;

 5 

 6 bool isempty(string x) {

 7     for (int i = 0; i < x.size(); i++)

 8         if (x[i] != ' ')

 9             return false;

10     return true;

11 }

12 

13 void print(string x) {

14     if (isempty(x)) return;

15     string temp;

16     temp.append(x.begin()+x.size()/2, x.end());

17     temp.append(x.begin(), x.begin()+x.size()/2);

18     cout << temp << endl;

19 }

20 

21 int main() {

22     string str1, str2;

23     while (getline(cin, str1) && getline(cin, str2)) {

24         reverse(str1.begin(), str1.end());

25         reverse(str2.begin(), str2.end());

26         print(str2);

27         print(str1);

28     }

29     

30     return 0;    

31 }

 

你可能感兴趣的:(switch)