您的位置:首页 > 其它

苦逼的程序袁

2016-05-13 14:49 399 查看

题目描述

程序袁连续加班熬夜多日,头疼欲裂,已经无法完成自己的工作了。他的工作是倒置若干句子,你能帮他完成任务么?

输入

第一行是一个数N,表示有N组结果。

后面N行每行是一个句子,如i come from Qingdao.

要求:倒置之后标点位置不变。

输出

输出N行,为倒置之后的句子。

样例输入

1I come from Qust.

样例输出

Qust. from come I

看起来很简单,还是需要东东脑子的。

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;

int main()
{
char str[1000];
int n;

cin >> n;
getchar();
for (int icase = 0; icase < n; ++icase)
{
gets(str);
int len = strlen(str);

int rear = len - 1;
int head = len - 1;
int flag = 1;

while (head >= 0)
{
if (flag == 1)
{
if (str[head] == ' ')
{
head--;
rear--;
continue;
}
else flag = 0;
}
if (str[head] != ' ')
head--;
while (str[head] == ' ' || head == -1)
{
for (int i = head +1; i <= rear; ++i)
cout << str[i];
head--;
rear = head;
if (head >= 0)
cout << " ";
}
}
cout << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: