单词倒排

瘦欲@ 提交于 2020-04-04 11:57:43
单词倒排

描述

编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。

输入

输入为一个字符串(字符串长度至多为100)。

输出

输出为按要求排序后的字符串。

样例输入

I am a student

样例输出

student a am I

代码

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

int main() {
	char ch[101], ans[101];
	cin.getline(ch, 101);
	int len = strlen(ch);
	int j = 0;
	for (int i = len - 1; i >= -1; --i) {
		if ((i == -1 || ch[i] == ' ') && j != 0) {
			int start = i + 1;
			for (int ii = 0; ii < j; ++ii)
				cout << ch[start + ii];
			if (i != -1) cout << " ";
			j = 0;
		}
		if (i >= 0 && ch[i] != ' ') ++j;
	}
	return 0;
}

思路分析

其实这个题的难度是中下,不想对第一个单词进行判断,要注意逻辑操作的短路

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!