描述
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入
输入为一个字符串(字符串长度至多为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; }
思路分析
其实这个题的难度是中下,不想对第一个单词进行判断,要注意逻辑操作的短路
来源:https://www.cnblogs.com/desperate-me/p/12630696.html