题目地址:http://soj.me/1323
一开始连题目都没看懂,然后直接google了一下这道题,原来是道大水题,大概题意就是有2N行字符串,两个为一组(也有可能一组中有一个为空字符串),先输出第二个字符串,在输出第一个字符串,输出的方式如下,从中间一直往左,然后从最后往左,例如字符串abcdefge输出为dcbaegfe,如果有一个字符串味空的话,就不必输出了,代码如下:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> vt;
void convert(string& s) {
if (s == "")
return;
bool flag = true;
int len = s.length();
for (int i = 0; i < len; i++)
if (s[i] > ' ')
flag = false;
if (flag)
return;
int p;
if (len%2)
p = len / 2;
else
p = len / 2 - 1;
int count_ = 0;
string temp = "";
while (count_ < len) {
if (p < 0)
p = len - 1;
cout << s[p];
p--;
count_++;
}
cout << endl;
return;
}
int main() {
string s1, s2;
while (getline(cin, s1) && getline(cin, s2)) {
convert(s2);
convert(s1);
}
//system("pause");
return 0;
}
其实偶偶切到水题也是一种方式