描述
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入
输入为一个字符串(字符串长度至多为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
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/340001
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!